SqlConnection con = new SqlConnection(str);
int ID;
ID = Int32.Parse(Combo_Stu.SelectedValue.ToString());
double a = double.Parse(Txt_Ins.Text);
string date = dtp_Stu.Value.ToString();
SqlCommand sqlcmd1 = new SqlCommand("INSERT INTO Instalment_Billing(ID,Pay_Date, Fees) VALUES (" + ID + "," + **date** + "," + a + ")", con);
con.Open();
sqlcmd1.ExecuteNonQuery();
“10”附近的语法不正确 我在约会时收到此错误 猜猜请帮助我
答案 0 :(得分:5)
问题可能是你的日期没有引用,但这个问题的真正解决方案是使用参数化查询。
答案 1 :(得分:5)
每当,你会在以下行中收到错误:
SqlCommand sqlcmd1 = new SqlCommand("INSERT INTO Instalment_Billing(" +
"ID,Pay_Date, Fees) VALUES (" + ID + "," + date + "," + a + ")", con);
你应该立即插入一些代码来打印出来并检查它是否是有效的SQL:
Console.WriteLine ("INSERT INTO Instalment_Billing(" +
"ID,Pay_Date, Fees) VALUES (" + ID + "," + date + "," + a + ")");
或:
System.Windows.Forms.MessageBox.Show("INSERT INTO Instalment_Billing" +
"(ID,Pay_Date, Fees) VALUES (" + ID + "," + date + "," + a + ")");
这应该向您显示完全您的问题所在。最有可能的日期插入应该使用格式为'yyyy.mm.dd'
的字符串或类似的字符串,所以您应该至少:
... + ",'" + date + "'," + ...
)。ToString()
会让你脱离我的头脑但是我想,鉴于你今天发布了这个并且它不是第十个月或第十天当月,它可能类似于yy-mm-dd
而2010年的未引用10则令你感到悲伤。