已经定义的一张表ds,并且ds里面已经有数据了,现在我想把这内存表中的数据查询出来插入到工资表2019中,如下
insert into 工资表2019 select * from "+ds.Tables[0]
执行后报错,“对象名 'Sheet1' 无效。”
请问怎么回事,用这种方法进行查询、插入到数据库中的表可以吗?
insert into 工资表2019 select * from "+ds.Tables[0]
执行后报错,“对象名 'Sheet1' 无效。”
请问怎么回事,用这种方法进行查询、插入到数据库中的表可以吗?
instert into的标准型是Insert into Table2(field1,field2,...) select value1,value2,... from Table1
不过你可以这样写
public int SqlCopySource(string connString, DataTable table, string name)
{
SqlConnection conn = new SqlConnection(connString);
conn.Open();
using (SqlBulkCopy bulk = new SqlBulkCopy(conn))
{
bulk.BatchSize = table.Rows.Count;
bulk.DestinationTableName = name;
try
{
bulk.WriteToServer(table);
return 1;
}
catch
{
return -1;
}
finally
{
bulk.Close();
conn.Close();
conn.Dispose();
}
}
}
DataTable inserts = table.GetChanges(DataRowState.Added);
adapter.Update(inserts);整体更新话说,adapter适配器用的比较少了,一般ORM代劳了