[英]Incorrect syntax near '=' on INSERT INTO SQL Server statement in C#
[英]Incorrect syntax near ','. SQL Server and c#
我有一個例外:
','附近的語法不正確。
在以下查詢中:請幫助。
我已經以多種方式嘗試過,但是它不起作用。 即使我嘗試插入單個值,我仍然會遇到此異常。
cmd = new SqlCommand("insert into purchaseOrder_master(sup_id,po_date,required_date,tot_amt,uid,potime) values("+supid.Text +",'"+podate.Value.Date+"','"+reqdate.Value.Date+"',"+pocost.Text +","+uid.Text +",'"+potime.Value.TimeOfDay +"')", con);
我們必須多久重復一次,您應該使用參數化查詢?
using (SqlCommand cmd = new SqlCommand("insert into table (column) values (@param)", conn))
{
cmd.Parameters.AddWithValue("@param", value);
cmd.ExecuteNonQuery();
}
您的代碼存在以下問題:
cmd = new SqlCommand("insert into PurchaseOrder_master(sup_id) values(@val)", con);
cmd.parameters.AddWithValue("@val", supid.Text );
請同時檢查日期的數據類型。 看來您為此只傳遞了字符串。 如果是日期時間,則需要將字符串解析為datetime。 對於該轉換用途,
DateTime.Parse("stringValue");
如果要不使用命令參數保存它,則轉換日期值並按上述進行檢查。
檢查您的實際 SQL字符串。
您的值之一可能是空字符串。
那,以及托爾斯滕所說的。 使用參數化查詢。
更改
"+uid.Text +"
至
'"+uid.Text +"'
和
"+supid.Text +"
至
'"+supid.Text +"'
以便
values("+supid.Text +",'"+podate.Value.Date+"','"+reqdate.Value.Date+"',"+pocost.Text +","+uid.Text +",'"+potime.Value.TimeOfDay +"')
讀
values('"+supid.Text +"','"+podate.Value.Date+"','"+reqdate.Value.Date+"',"+pocost.Text +",'"+uid.Text +"','"+potime.Value.TimeOfDay +"')
我相信問題是您將字符串放在插入語句中而沒有“'”符號
嘗試:
cmd = new SqlCommand("insert into purchaseOrder_master(sup_id,po_date,required_date,tot_amt,uid,potime) values("+supid.Text +",'"+podate.Value.Date+"','"+reqdate.Value.Date+"','"+pocost.Text +"','"+uid.Text +"','"+potime.Value.TimeOfDay +"')", con);
如您在此處閱讀的內容,在執行插入語句時,每個字符串都必須用“'”括起來
嘗試調試您的代碼,並檢查查詢的確切形式。
我也認為可能的原因是
insert into purchaseOrder_master(sup_id,po_date,required_date,tot_amt,**uid**,potime
uid是一個關鍵字。 將其替換為[uid]並檢查
您的變量中有一個string.empty。 突然您生成以下命令:插入purchaseOrder_master(sup_id,po_date,required_date,tot_amt,uid,potime)值('value1','value2','value3'...
您可以使用string.format格式化命令
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.