VB.NET循环向access表中安插数据报错
VB.NET循环向access表中插入数据报错
我把数据先放入了ARRLIST数组,想利用循环插入表中,但是 最后报错:由于将在索引、 主关键字、或关系中创建重复的值,请求对表的改变没有成功。 改变该字段中的或包含重复数据的字段中的数据,删除索引或重新定义索引以允许重复的值并再试一次。
以下是我的代码 紧急求教啊 myarr是我已经弄好的数组 一条数据是15个,2条就是30个
FileCopy("E:\NQIS\02. Developement Repository\Source code\nqis\F\bin\Release\impact_model.mdb", "E:\NQIS\02. Developement Repository\Source code\nqis\F\bin\Release\" + PK2.Text + ".mdb")
'----------------------------------
Dim con As New OleDbConnection("provider = microsoft.jet.oledb.4.0;data source=E:\NQIS\02. Developement Repository\Source code\nqis\F\bin\Release\" + PK2.Text + ".mdb")
'查询数据库
Dim mySQL As String = "INSERT INTO TF_IO_IMPACT(MSG_FLAG,LOT_NO,TEST_NO,SMP_NO,SMP_LOC,RETEST_FLAG,MANU_NO,MTRL_NO,SPEC,DIMEN,IMPACT_TYPE,IMPACT_TEMP,IMPACT_DIR,IMPACT_A_DSC_CD,A_IMPACT_DSC_CD,IMPACT_COUNT) VALUES (@MSG_FLAG,@LOT_NO,@TEST_NO,@SMP_NO,@SMP_LOC,@RETEST_FLAG,@MANU_NO,@MTRL_NO,@SPEC,@DIMEN,@IMPACT_TYPE,@IMPACT_TEMP,@IMPACT_DIR,@IMPACT_A_DSC_CD,@A_IMPACT_DSC_CD,@IMPACT_COUNT)"
For k = 0 To s - 1
For v = 0 + k * 15 To 14 + k * 15
Dim objCmd As New OleDbCommand(mySQL, con)
con.Open() '打开数据库
Dim a As Integer
a = k * 15
objCmd.Parameters.AddWithValue("@MSG_FLAG", "N")
objCmd.Parameters.AddWithValue("@LOT_NO", myarr(0 + a))
objCmd.Parameters.AddWithValue("@TEST_NO", myarr(1 + a))
objCmd.Parameters.AddWithValue("@SMP_NO", myarr(2 + a))
我把数据先放入了ARRLIST数组,想利用循环插入表中,但是 最后报错:由于将在索引、 主关键字、或关系中创建重复的值,请求对表的改变没有成功。 改变该字段中的或包含重复数据的字段中的数据,删除索引或重新定义索引以允许重复的值并再试一次。
以下是我的代码 紧急求教啊 myarr是我已经弄好的数组 一条数据是15个,2条就是30个
FileCopy("E:\NQIS\02. Developement Repository\Source code\nqis\F\bin\Release\impact_model.mdb", "E:\NQIS\02. Developement Repository\Source code\nqis\F\bin\Release\" + PK2.Text + ".mdb")
'----------------------------------
Dim con As New OleDbConnection("provider = microsoft.jet.oledb.4.0;data source=E:\NQIS\02. Developement Repository\Source code\nqis\F\bin\Release\" + PK2.Text + ".mdb")
'查询数据库
Dim mySQL As String = "INSERT INTO TF_IO_IMPACT(MSG_FLAG,LOT_NO,TEST_NO,SMP_NO,SMP_LOC,RETEST_FLAG,MANU_NO,MTRL_NO,SPEC,DIMEN,IMPACT_TYPE,IMPACT_TEMP,IMPACT_DIR,IMPACT_A_DSC_CD,A_IMPACT_DSC_CD,IMPACT_COUNT) VALUES (@MSG_FLAG,@LOT_NO,@TEST_NO,@SMP_NO,@SMP_LOC,@RETEST_FLAG,@MANU_NO,@MTRL_NO,@SPEC,@DIMEN,@IMPACT_TYPE,@IMPACT_TEMP,@IMPACT_DIR,@IMPACT_A_DSC_CD,@A_IMPACT_DSC_CD,@IMPACT_COUNT)"
For k = 0 To s - 1
For v = 0 + k * 15 To 14 + k * 15
Dim objCmd As New OleDbCommand(mySQL, con)
con.Open() '打开数据库
Dim a As Integer
a = k * 15
objCmd.Parameters.AddWithValue("@MSG_FLAG", "N")
objCmd.Parameters.AddWithValue("@LOT_NO", myarr(0 + a))
objCmd.Parameters.AddWithValue("@TEST_NO", myarr(1 + a))
objCmd.Parameters.AddWithValue("@SMP_NO", myarr(2 + a))