我现在读取excel文件的一张表,存到dataset中的table(0)中,我想将该表保存到事先已经建好数据库中的表中,请高手指点,谢谢啦

解决方案 »

  1.   

    将Excel当作数据表来处理.
    dataSource   =   file.Name;
                tableName = GetExcelTableName(dataSource);
                connectionString = string.Format("Provider=Microsoft.Jet.OleDb.4.0;data source={0};Extended Properties='Excel 8.0;HDR=Yes;IMEX=1'", dataSource);
      

  2.   

    http://www.crazycoder.cn/DataBase/Article23699.html
    你自己研究一下
    应该没什么问题
      

  3.   


    建议你深入研究SqlDataAdapter 和 SqlCommandBuilder 
    和SqlCommandBuilder.DataAdapter.Update(ds, TableName)
      

  4.   

    谢谢各位的回复啊,我写了如下语句, 其中MyDts.Tables("biao"))是我事先从excel里取出来的,可运行后数据库里的表tb_紧固件没有变化,是怎么回事啊,请高手指点啊partsConn = New SqlConnection("Data Source=(local);Initial Catalog=StandardParts;Integrated Security=true;User ID=sa")        Try
                partsConn.Open()
                partsAdapter = New SqlDataAdapter("Select * from tb_紧固件", partsConn)
                
                Dim scb As SqlCommandBuilder = New SqlCommandBuilder(partsAdapter)
                partsAdapter.Update(MyDts.Tables("biao"))
                partsConn.Close()        Catch sqlexceptionparameter As System.Data.SqlClient.SqlException            MessageBox.Show(sqlexceptionparameter.ToString)        End Try
      

  5.   

    同意楼上的做法,最简单的就是用SqlDataAdapter来进行大批量数据的插入,但是要设置好表的主键。SqlConnection conn=new SqlConnection(ConnectionString);SqlDataAdapter da=new SqlDataAdapter("select * from 表名 where 1=2",conn);SqlCommandBuilder scb=new SqlCommandBuiler(da);如果原先的DataSet已经存在,则da.Fill(ds);
    da.Update(ds.Tables["数据表"]);