webman
جمعه 10 اسفند 1386, 15:26 عصر
با سلام به دوستان , یک فرمان Insert ساده با ExecuteNonQuery با Access . جدول store با سه فیلد storeid, store, boss. کلید اصلی storeid که Autonumber است و تکرار مجاز نیست. نام فروشگاه (store) که تکرار مجاز نیست و در بانک به No Duplicate تنظیم شده .
Protected Sub btnRun_click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnRun.Click
Dim connString As String = "Provider=Microsoft.jet.oledb.4.0; Data Source=d:\aspnet\db1.mdb"
Dim dbConn As New OleDbConnection(connString)
dbConn.Open()
Dim commandString As String = "INSERT INTO store(store, boss) VALUES(@store,@boss)"
Dim dbCommand As New OleDbCommand(commandString, dbConn)
Dim storeParam As New OleDbParameter("@store", OleDbType.VarChar, 10)
storeParam.Value = txtStore.Text
dbCommand.Parameters.Add(storeParam)
Dim bossParam As New OleDbParameter("@boss", OleDbType.VarChar, 20)
bossParam.Value = txtBoss.Text
dbCommand.Parameters.Add(bossParam)
dbCommand.ExecuteNonQuery()
dbConn.Close()
End Sub
این خطا را میدهد
Exception Details: System.Data.OleDb.OleDbException: The changes you requested to the table were not successful because they would create duplicate values in the index, primary key, or relationship. Change the data in the field or fields that contain duplicate data, remove the index, or redefine the index to permit duplicate entries and try again.
اگر تنظیم No Duplicate را yes کنیم خطا نمیدهد و رکورد وارد شده دو بار ذخیره میشود
هر راهنمایی بکنید کمال تشکر را دارم
Protected Sub btnRun_click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnRun.Click
Dim connString As String = "Provider=Microsoft.jet.oledb.4.0; Data Source=d:\aspnet\db1.mdb"
Dim dbConn As New OleDbConnection(connString)
dbConn.Open()
Dim commandString As String = "INSERT INTO store(store, boss) VALUES(@store,@boss)"
Dim dbCommand As New OleDbCommand(commandString, dbConn)
Dim storeParam As New OleDbParameter("@store", OleDbType.VarChar, 10)
storeParam.Value = txtStore.Text
dbCommand.Parameters.Add(storeParam)
Dim bossParam As New OleDbParameter("@boss", OleDbType.VarChar, 20)
bossParam.Value = txtBoss.Text
dbCommand.Parameters.Add(bossParam)
dbCommand.ExecuteNonQuery()
dbConn.Close()
End Sub
این خطا را میدهد
Exception Details: System.Data.OleDb.OleDbException: The changes you requested to the table were not successful because they would create duplicate values in the index, primary key, or relationship. Change the data in the field or fields that contain duplicate data, remove the index, or redefine the index to permit duplicate entries and try again.
اگر تنظیم No Duplicate را yes کنیم خطا نمیدهد و رکورد وارد شده دو بار ذخیره میشود
هر راهنمایی بکنید کمال تشکر را دارم