-4
Dim okToadd As MsgBoxResult = MsgBox("Are you sure you want to add the current record?", MsgBoxStyle.YesNo)
If okToadd = MsgBoxResult.Yes Then
MsgBox("Admin information Added Sucessfully", MsgBoxStyle.OkOnly)
provider = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source ="
'Change the following to your access database location
dataFile = "C:\Users\talha\Documents\login.accdb"
connString = provider & dataFile
myConnection.ConnectionString = connString
myConnection.Open()
Dim str As String
str = "insert into loginusers ([username], [password], [firstname], [lastname]) values (?, ?, ?, ?)"
Dim cmd As OleDbCommand = New OleDbCommand(str, myConnection)
cmd.Parameters.Add(New OleDbParameter("username", CType(TextBox1.Text, String)))
cmd.Parameters.Add(New OleDbParameter("password", CType(TextBox2.Text, String)))
cmd.Parameters.Add(New OleDbParameter("firstname", CType(TextBox3.Text, String)))
cmd.Parameters.Add(New OleDbParameter("lastname", CType(TextBox4.Text, String)))
Try
cmd.ExecuteNonQuery()
cmd.Dispose()
myConnection.Close()
TextBox1.Clear()
TextBox2.Clear()
TextBox3.Clear()
TextBox4.Clear()
DataGridView1.Refresh()
Catch ex As Exception
DataGridView1.Refresh()
MsgBox(ex.Message)
DataGridView1.Refresh()
End Try
ElseIf okToadd = MsgBoxResult.No Then
End If
最初に、挿入を試みる前に「成功」メッセージボックスを表示しないでください。挿入が失敗し、すでに作業したことをユーザーに伝えたらどうなりますか?第2に、アクセスDBのためのSQLのマージ機能はないので、ユーザ名がすでに存在するかどうかを確認するクエリを追加するか、そうでない場合は挿入するか、ユーザ名をテーブルの主キーにして挿入する必要があります試行では、プライマリキーの制約違反を読み取るキャッチ – soohoonigan