谢谢各位的回复啊,我写了如下语句, 其中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
同意楼上的做法,最简单的就是用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["数据表"]);
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);
你自己研究一下
应该没什么问题
建议你深入研究SqlDataAdapter 和 SqlCommandBuilder
和SqlCommandBuilder.DataAdapter.Update(ds, TableName)
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
da.Update(ds.Tables["数据表"]);