0
這是我爲更新表格醫生所做的代碼。代碼沒有錯誤,我確定表格數據類型是可以的;數據類型被設置爲自動編號,而其他類型被設置爲短文本。標準表達式中的數據類型不匹配,即使代碼完美時仍然存在錯誤
此外,我知道這段代碼會影響sql注入,我應該使用參數來做到這一點,但這樣做是可能的,並且有一個我無法解決的錯誤,我需要知道錯誤的解決方案當我更新表格時我會得到。
錯誤:
data type mismatch in criteria expression
我使用Access 2013和Visual Studio 2013年
private void button6_Click(object sender, EventArgs e)
{
try
{
OleDbConnection cone = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=E:\\dev\\assignt_soft\\healthline_\\healthline_\\healthline_db.accdb");
OleDbCommand come = new OleDbCommand("UPDATE doctorss set Doctor_Name='"+textBox3.Text+"', dspecial='"+comboBox4.Text+"', dday= '"+comboBox3.Text+"', dtime= '"+textBox2.Text+"' where Doctor_ID='" + textBox4.Text+"';");
come.Connection = cone;
cone.Open();
come.ExecuteNonQuery();
cone.Close();
MessageBox.Show("Doctor updated");
OleDbConnection cont = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=E:\\dev\\assignt_soft\\healthline_\\healthline_\\healthline_db.accdb");
OleDbCommand comt = new OleDbCommand("select * from doctorss", cont);
DataTable dte = new DataTable();
cont.Open();
dte.Load(comt.ExecuteReader());
dataGridView1.DataSource = dte;
cont.Close();
return;
}
catch (OleDbException expee)
{ MessageBox.Show(expee.Message); }
}
如果' Doctor_ID'是一個數字爲什麼你有報價圍繞你比較的價值嗎? SQL參數可幫助您避免此類問題以及sql注入。 – juharr
一次將您的SQL更新分解爲一個或兩個字段,並查看哪一個導致錯誤。我敢打賭,「dtime」字段的格式不正確。 – AlG