首页 新闻 会员 周边

连接Excel的问题

0
悬赏园豆:50 [已关闭问题]

<asp:GridView ID="GridView1" runat="server" DataSourceID="SqlDataSource1" DataKeyNames="id" 
            AutoGenerateColumns="False"> 
            <Columns> 
                <asp:BoundField  DataField="id" HeaderText="编号"/> 
                <asp:BoundField  DataField="name" HeaderText="姓名"/> 
                <asp:CommandField ShowDeleteButton="True" /> 
            </Columns> 
        </asp:GridView> 
        
        <asp:SqlDataSource ID="SqlDataSource1" runat="server" 
            ConnectionString=" <%$ ConnectionStrings:ExcelConnectionString %>" 
            ProviderName=" <%$ ConnectionStrings:ExcelConnectionString.ProviderName %>" 
            SelectCommand="select id, name from [test$] where id is not null" 
            DeleteCommand="UPDATE [test$] SET name = NULL, id= NULL WHERE id = @id"> 
            <DeleteParameters> 
                <asp:Parameter name="id" Type="Int32"/> 
            </DeleteParameters> 
            </asp:SqlDataSource> 
__________________________________________________________________ 
web.config 

<connectionStrings> 
<add name="ExcelConnectionString" connectionString="Dsn=tset;dbq=D:\MY DOCUMENTS\VISUAL STUDIO 2008\WEBSITES\WEBTEST\APP_DATA\test.xls;defaultdir=D:\MY DOCUMENTS\VISUAL STUDIO 2008\WEBSITES\WEBTEST\APP_DATA;driverid=790;fil=excel 8.0;maxbuffersize=2048;pagetimeout=5" providerName="System.Data.Odbc"/> 
</connectionStrings> 
__________________________________________________________________ 
连接的是个Excel文件 

DeleteCommand 中的@id 改为 具体数字没有问题,当前错误是 “ERROR [07002] [Microsoft][ODBC Excel Driver] 参数不足,期待是 1。” 

怎样用当前这种方式实现删除,或者是为什么会有这种错误?<asp:GridView ID="GridView1" runat="server" DataSourceID="SqlDataSource1" DataKeyNames="id" 

            AutoGenerateColumns="False"> 
            <Columns> 
                <asp:BoundField  DataField="id" HeaderText="编号"/> 
                <asp:BoundField  DataField="name" HeaderText="姓名"/> 
                <asp:CommandField ShowDeleteButton="True" /> 
            </Columns> 
        </asp:GridView> 
        
        <asp:SqlDataSource ID="SqlDataSource1" runat="server" 
            ConnectionString=" <%$ ConnectionStrings:ExcelConnectionString %>" 
            ProviderName=" <%$ ConnectionStrings:ExcelConnectionString.ProviderName %>" 
            SelectCommand="select id, name from [test$] where id is not null" 
            DeleteCommand="UPDATE [test$] SET name = NULL, id= NULL WHERE id = @id"> 
            <DeleteParameters> 
                <asp:Parameter name="id" Type="Int32"/> 
            </DeleteParameters> 
            </asp:SqlDataSource> 
__________________________________________________________________ 
web.config 

<connectionStrings> 
<add name="ExcelConnectionString" connectionString="Dsn=tset;dbq=D:\MY DOCUMENTS\VISUAL STUDIO 2008\WEBSITES\WEBTEST\APP_DATA\test.xls;defaultdir=D:\MY DOCUMENTS\VISUAL STUDIO 2008\WEBSITES\WEBTEST\APP_DATA;driverid=790;fil=excel 8.0;maxbuffersize=2048;pagetimeout=5" providerName="System.Data.Odbc"/> 
</connectionStrings> 
__________________________________________________________________ 
连接的是个Excel文件 

DeleteCommand 中的@id 改为 具体数字没有问题,当前错误是 “ERROR [07002] [Microsoft][ODBC Excel Driver] 参数不足,期待是 1。” 

怎样用当前这种方式实现删除,或者是为什么会有这种错误?<asp:GridView ID="GridView1" runat="server" DataSourceID="SqlDataSource1" DataKeyNames="id" 

            AutoGenerateColumns="False"> 
            <Columns> 
                <asp:BoundField  DataField="id" HeaderText="编号"/> 
                <asp:BoundField  DataField="name" HeaderText="姓名"/> 
                <asp:CommandField ShowDeleteButton="True" /> 
            </Columns> 
        </asp:GridView> 
        
        <asp:SqlDataSource ID="SqlDataSource1" runat="server" 
            ConnectionString=" <%$ ConnectionStrings:ExcelConnectionString %>" 
            ProviderName=" <%$ ConnectionStrings:ExcelConnectionString.ProviderName %>" 
            SelectCommand="select id, name from [test$] where id is not null" 
            DeleteCommand="UPDATE [test$] SET name = NULL, id= NULL WHERE id = @id"> 
            <DeleteParameters> 
                <asp:Parameter name="id" Type="Int32"/> 
            </DeleteParameters> 
            </asp:SqlDataSource> 
__________________________________________________________________ 
web.config 

<connectionStrings> 
<add name="ExcelConnectionString" connectionString="Dsn=tset;dbq=D:\MY DOCUMENTS\VISUAL STUDIO 2008\WEBSITES\WEBTEST\APP_DATA\test.xls;defaultdir=D:\MY DOCUMENTS\VISUAL STUDIO 2008\WEBSITES\WEBTEST\APP_DATA;driverid=790;fil=excel 8.0;maxbuffersize=2048;pagetimeout=5" providerName="System.Data.Odbc"/> 
</connectionStrings> 
__________________________________________________________________ 
连接的是个Excel文件 

DeleteCommand 中的@id 改为 具体数字没有问题,当前错误是 “ERROR [07002] [Microsoft][ODBC Excel Driver] 参数不足,期待是 1。” 

怎样用当前这种方式实现删除,或者是为什么会有这种错误?

问题补充: 在后台用 LinkButton lb = sender as LinkButton; SqlDataSource1.DeleteParameters["id"].DefaultValue = lb.CommandArgument; SqlDataSource1.Delete(); 方法错误依旧
SoXLiang的主页 SoXLiang | 初学一级 | 园豆:142
提问于:2009-10-21 22:08
< >
分享
其他回答(1)
0

建议你使用ODBC数据源。 要么你把这个文件包含到项目中,然后使用相对路径。

天堂口 | 园豆:514 (小虾三级) | 2009-10-22 14:24
文件包已含到项目中,ODBC和OleDb 都试过了,貌似OleDb支持的更好,但是都存在找不到参数的问题
支持(0) 反对(0) SoXLiang | 园豆:142 (初学一级) | 2009-10-22 16:02
0

http://www.cnblogs.com/downmoon/archive/2009/01/16/1376702.html

注意连接串参数

邀月 | 园豆:25475 (高人七级) | 2009-11-05 09:07
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册