如何获得此查询的工作?不断收到此错误:如何解决此查询错误
"syntax error in INSERT INTO statement"
我,因为它曾经在另一个程序中工作困惑,但我得到了所有炒了这一个。
string item = listView1.Items[listView1.FocusedItem.Index].Text;
MessageBox.Show(item); //test Value
string thisDay1 = DateTime.Now.ToString();
ad.InsertCommand = new OleDbCommand("INSERT INTO Scrap-Rework Master Data (Is_today, S_Line, Status, T_Number, Test_Cp, think_a, Rew_Hos, QAffect, Comments)
values (?, ?, ?, ?, ?, ?, ?, ?, ?)", con);
ad.InsertCommand.Parameters.AddWithValue("@S_Line", OleDbType.VarChar).Value = textBox1.Text;
ad.InsertCommand.Parameters.AddWithValue("@Status", OleDbType.VarChar).Value = domainUpDown1.Text;
ad.InsertCommand.Parameters.AddWithValue("@T_Number", OleDbType.VarChar).Value = textBox2.Text;
ad.InsertCommand.Parameters.AddWithValue("@Test_Cp", OleDbType.VarChar).Value = item;
ad.InsertCommand.Parameters.AddWithValue("@think_a", OleDbType.VarChar).Value = domainUpDown2.Text;
ad.InsertCommand.Parameters.AddWithValue("@Rew_Hos", OleDbType.Numeric).Value = Double.Parse(textBox4.Text);
ad.InsertCommand.Parameters.AddWithValue("@QAffect", OleDbType.Numeric).Value = int.Parse(textBox3.Text);
ad.InsertCommand.Parameters.AddWithValue("@Comments", OleDbType.VarChar).Value = textBox5.Text;
ad.InsertCommand.Parameters.AddWithValue("@Is_today", OleDbType.DBTime).Value = thisDay1;
列表视图有2列:在访问数据库和类型
ListViewItem listitem = new ListViewItem(dr["Test_Cp"].ToString());
listitem.SubItems.Add(dr["Description"].ToString());
领域:
S_Line -Short Text;
Status -Short Text;
T_Number -Short Text;
Test_Cp -Short Text;
think_a -Short Text;
Rew_Hos -Number;
QAffect -Number;
Comments -Long Text;
Is_today -Date/Time;
非常感谢你提前。
你插入的表的名称是什么?如果它的“废料返工主数据”包含空格,则需要在方括号中限定名称,例如插入[Scrap-Rework Master Data] – abrown
您的SQL参数('?')未被命名。如果OleDbCommand支持这一点,并且假定它们使用您的参数顺序进行组装,那么它将无法工作,因为IsToday是无序的。 – Rup
OleDB忽略参数名称,所以您的参数必须按索引顺序排列。这意味着你的'@ Is_today'参数必须先被添加,因为这是查询表达式中的第一个'?'。 – LarsTech