1樓:
你的表中有一列是自動編號的吧,這一列是不用插入值的。
sqlcommand cmd = new sqlcommand("insert into enorder(menu_name,foodsum,foodallprice,clerkid,beizhu,table_id,svcdate) values ( conn);
2樓:匿名使用者
表enorder的enorder_id是主鍵,並且還是標識列,不用為它新增資料,資料庫會自動增長的。把你的語句改成:
sqlcommand cmd = new sqlcommand("insert into enorder(menu_name,foodsum,foodallprice,clerkid,beizhu,table_id,svcdate) values ('conn);
這樣試試看。
3樓:匿名使用者
enorder_id 你這個表的id不是自動的?資料除了錯誤把 檢查檢查型別什麼的。
c#資料庫寫入錯誤
4樓:匿名使用者
報錯因為你拼的sql語句語法不對, 引號沒有成對出現。
1、重新拼接sql語句,string sql ="insert into ..values (
拼接時一定是 " 變數+" 這樣出現的。 雖然int型別在sql語句中可以不用引號,但是從c#中拼接還是統一都帶上單引號為好,是不會報錯的。
2、使用parameter來傳遞引數。
拼接sql會有很多問題,而且看起來很不美觀。
最常見的會有sql注入漏洞,比如查詢的時候使用者輸入個 "0 or 1=1", 拼到你的sql語句裡面就是"select * from table where id = 0 or 1=1 ; 這樣會把所有的資訊都查出來,很不安全。
用sqlparameter則可以避免此類問題:
string sql = insert into table (name,age) values (@name,@age);
var paras = new sqlparameter
new sqlparameter("@name", new sqlparameter("@age", sql,paras);
這個是執行的函式,可以自己封裝,裡面有很多過載。傳遞的就是連線字串、sql型別、
語句、變數等。
程式會自動把語句中的@name @age當做變數,把你寫的paras 這個引數組裡的值傳進去。
5樓:網友
sql拼接有誤,'1,'1,1,少了個'.
應該是'1','1'
怎樣往 sqlserver資料庫新增資料
在sqlserver資料庫新增資料的步驟如下 以一個student表為例,資料中有studentno studentname gradeid phone這幾列。2.在表中右擊然後選擇裡面的編輯前200行。3.在彈出視窗中,就是我們要新增資料的資料列,手動輸入資料,如張三 1 手機號等等。4.新增完畢...
C為什麼連線資料庫總是出錯,用c連線sqlserver資料庫為什麼老出現下面的錯誤求大神指導
可能是sql語句寫錯了 你給截圖 呀,截個錯誤怎麼幫你。在vs中用c 編寫一個介面,在連線資料庫的時候,總是出錯 正常情況下按張大師所寫應該就可以連線。如果仍然不能連線,請執行sql server management studio 這是2005,2000請執行企業管理器 用windows身份驗證進...
在C中,如何使用sql語句向資料庫中新增資訊
連線字串 data source localhost 服務bai器名du initial catalog 資料庫名 integrated security true sqlconnection con new sqlconnection 連線字串 string ss sql語句 zhi sql ma...