问题描述
- 在C#中将一个数组传递到ACCESS表中,第一列传完,然后传下一列,总共4列。
-
for (int j = 0; j < 4; ++j)//j代表齿数
{
for (int i = 0; i < 30; ++i)//行数,I改变的是测量的点数
{
jilushuzhi_left[j,i] = chixiangceliang_left[j, i];//将测量得到的j行i列值传到变量数组string str = string.Format("insert into rz(" + lieming[j,0] + ") values ('" + jilushuzhi_left[j, i] + "')"); OleDbCommand acommand1 = null; acommand1 = tempconn.CreateCommand(); acommand1.CommandText = str;//新建一个command命令 tempconn.Open(); res = acommand1.ExecuteNonQuery(); tempconn.Close(); } } 我是利用上面的循环语句来实现将一个数组传递到ACCESS数据库中的一个表,但是当内循环完毕之后应该是第一列传递完,总共传了30个数字(相当于30行),然后是第二列传递,但此时从31行开始往下传递了,它好像默认了表中第31行是第一行了。
解决方案
你这个循环逻辑上有问题:所有的SQL语句都是使用的插入语句,因此会出现第一列循环完成之后,只会是行继续增加(即31行)。因此,要实现你的要求,那么在第一列循环完成之后,SQL语句应该修改为UPDATE语句来执行后面的循环。不知能否帮到你
时间: 2024-09-20 00:44:29