在C#中将一个数组传递到ACCESS表中,第一列传完,然后传下一列,总共4列。

在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语句来执行后面的循环。不知能否帮到你