2016-09-29 14 views
-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

最初に、挿入を試みる前に「成功」​​メッセージボックスを表示しないでください。挿入が失敗し、すでに作業したことをユーザーに伝えたらどうなりますか?第2に、アクセスDBのためのSQLのマージ機能はないので、ユーザ名がすでに存在するかどうかを確認するクエリを追加するか、そうでない場合は挿入するか、ユーザ名をテーブルの主キーにして挿入する必要があります試行では、プライマリキーの制約違反を読み取るキャッチ – soohoonigan

答えて

1

ユーザー名フィールドをデータベースの主キーとして指定できます。

+0

詳細を教えてください –

+0

コードを編集してください –

関連する問題