2010-04-27 82 views
0

錯誤而OleDb的錯誤:在UPDATE語句

 Try 
      con.Open() 
      Dim cmd As New OleDbCommand("Select * from customer", con) 
      cmd.CommandText = " update customer set hr [email protected],min [email protected] " 
      cmd.Parameters.AddWithValue("@hr", ComboBoxHr.SelectedIndex.ToString()) 
      cmd.Parameters.AddWithValue("@min", ComboBoxMin.SelectedIndex.ToString()) 
      cmd.ExecuteNonQuery() 
      TwoDigit(ComboBoxHr) 
      MessageBox.Show("CONRATULATIONS! ...Click the Start button to see the changes") 
     Catch ex As Exception 
      MessageBox.Show(ex.Message.ToString()) 
     End Try 

工作正常執行下面的代碼,我得到的語法錯誤,如果我刪除「分」的一部分。 可能是什麼原因?

+0

我估計你應該接受AakashM的回答。 – Fionnuala 2010-04-27 15:14:46

回答

2

我相信AakashM是對的。但是,只要你把它放在[]中就可以使用關鍵字作爲列名[

Try 
     con.Open() 
     Dim cmd As New OleDbCommand("Select * from customer", con) 
     cmd.CommandText = " update customer set hr [email protected],[min] [email protected] " 
     cmd.Parameters.AddWithValue("@hr", ComboBoxHr.SelectedIndex.ToString()) 
     cmd.Parameters.AddWithValue("@min", ComboBoxMin.SelectedIndex.ToString()) 
     cmd.ExecuteNonQuery() 
     TwoDigit(ComboBoxHr) 
     MessageBox.Show("CONRATULATIONS! ...Click the Start button to see the changes") 
    Catch ex As Exception 
     MessageBox.Show(ex.Message.ToString()) 
    End Try 
+0

你們這些人真棒。 問題已解決 感謝您再次保存我的a **:D – piku 2010-04-27 15:08:38

2

MIN是SQL中的關鍵字(它是查找一組值的最小值的集合函數)。或者爲你的列使用不同的名字,或者把它放在[方括號中] - 我不確定這是否可以在Access中工作,記住...

+0

你們這些人真棒。 問題已解決 感謝您再次保存我的**:D – piku 2010-04-27 15:08:58