用using System.Data.OleDb;命名空间  你调用的不是access数据库吗
还要用OleDbCommand而不是SqlCommand

解决方案 »

  1.   

    SqlCommand SqlDataAdapter SqlConnection都是SqlServer库的
    你前面都要改成OleDb
      

  2.   

    你不是报
    -------------------------------------
    提示错误:
    OLE DB 提供程序 'Microsoft.Jet.OLEDB.4.0' 报错。提供程序未给出有关错误的任何信息.这个错吗 这个错就是连接ACCESS库的错误啊而你代码用却是SqlCommand啊
      

  3.   

    修改了
    帮我看下。哪还有错。
     protected void Button1_Click(object sender, EventArgs e)
        {
            string strConnection = "Provider=Microsoft.Jet.OleDb.4.0;Data Source=";
            OleDbConnection myConnection = new OleDbConnection(strConnection);
            string sql = "insert into gw select *  FROM OpenDataSource('Microsoft.Jet.OLEDB.4.0','Data Source=C:\text.xls;User ID=;Password=;Extended properties=Excel 5.0')...[Sheet1$]";
            OleDbCommand str = new OleDbCommand(sql, myConnection);
            str.Connection.Open();
            str.ExecuteNonQuery();
            str.Connection.Close();
            TextBoxname.Text="添加成功" ;
        }
      

  4.   

    没有可用的错误消息,结果代码: DB_SEC_E_AUTH_FAILED(0x80040E4D)。 
    说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.Data.OleDb.OleDbException: 没有可用的错误消息,结果代码: DB_SEC_E_AUTH_FAILED(0x80040E4D)。
      

  5.   

    你命名空间声明
    using System.Data.OleDb;
    了吗
      

  6.   

    格式应该是这样写的 你看看 对吗你写的//不新建表将Excel记录插入到已有的表中
    insert into EtoS select * from OpenRowSet('microsoft.jet.oledb.4.0','Excel 8.0;HDR=yes;database=c:\book1.xls;','select CardId,CardPwd from [Sheet1$]')
    其中HDR=yes/no表示是否将文件的第一行也倒入到数据库中