c#对数据库进行循环插入是出错
发布网友
发布时间:2024-09-26 08:22
我来回答
共4个回答
热心网友
时间:2024-10-25 12:02
你这么做不好
觉得用事务比较好
热心网友
时间:2024-10-25 12:00
你是否使用了多线程
你是否正确编写了数据打开与关闭
热心网友
时间:2024-10-25 11:58
防止多线程的话你就把for循环代码放到lock( values){.......}中点的地方就优先录入了,学会用绑定整体和写存储过程要比现在简单得多。
热心网友
时间:2024-10-25 12:04
access是单线程的,可能是在你进行插入新数据的时候,别人也在操作此数据表,造成了你的数据插入失败。因为在数据量教多的情况下,你上面的操作时需要一段时间的。可以把上面的程序改成:
System.Text.StringBuilder sb = new System.Text.StringBuilder();
foreach(var i in datagridview){
sb.append("insert into() values ();")
}
GetConnection g = new GetConnection();
OleDbCommand cmd = new OleDbCommand(insert, g.GetCon(true));
cmd.ExecuteNonQuery();
g.GetCon(false);
意思就是把每条语句都插入一次,不如把所有语句和在一起,一次插入。这是我个人想法,不过我不用access,不知道能不能成功。