2016-04-03 12 views
0

Windowsフォームアプリケーションのコマンドオブジェクトを使用してアクセスデータベースの行を更新するという単純な作業で立ち往生しました。私はレコードを挿入することができるよ何とかないレコードを更新することができ:コマンドオブジェクトを使用してAccess DBの行を更新していません

private void openDB() 
     { 
      DBPath = Application.StartupPath + "\\myDB.mdb"; 
      conn = new OleDbConnection("Provider=Microsoft.Jet.OleDb.4.0;" + "Data Source=" + DBPath); 
      conn.Open(); 
     } 

private void btnUpdate_Click(object sender, EventArgs e) 
     { 
      string insertString; 
      openDB(); 
      string updateString; 
      updateString = "Update Address SET Name='"+ txtName.Text.Trim() + "', IsActive='" + chkAddressActive.Checked +"' where MemberID="+txtMemberID.Text.Trim(); 
      //MessageBox.Show(updateString); 
      using (OleDbCommand updateCmd = new OleDbCommand(updateString, conn)) 
      { 
       updateCmd.ExecuteNonQuery(); 
       MessageBox.Show("Record Updated Successfully", "Transaction", MessageBoxButtons.OK, MessageBoxIcon.Information); 
       dgView.Enabled = true; 
       ReloadDataForSelectedMember(); 
      } 
     } 
+0

あなたがの例を投稿することができます生成されるクエリ文字列 – Eminem

答えて

0

が予約語であるとして、あなたはこのようなものが必要になる場合があります

updateString = "Update Address SET [Name] = '" + txtName.Text.Trim() + "', IsActive = " + chkAddressActive.Checked.ToString() + " Where MemberID = " + txtMemberID.Text.Trim(); 
関連する問題