2014-05-18 105 views
-2

我試圖插入到數據庫的當前時間的字符串:錯誤:錯誤的數據類型爲varchar轉換爲數字

string tm = DateTime.Now.ToString("HH:mm:ss"); 
string sql = string.Format("INSERT INTO Kabala1 (Nu_kabala,Ma_num,Date,Time,Total,Status,Name,User_n) VALUES('{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}')", n, Session["Ma_num"], now, tm, lprice, "sdfsdf", Session["user"], "sdfsdf"); 

但是當我運行上面的代碼我得到的錯誤:錯誤轉換數據類型varchar到數字。

我該如何解決?

+0

您需要識別表格中具有數字類型的列(即'int')並刪除相應的'''''INSERT'字符。 – HuorSwords

回答

0

要插入的一個或多個列數據類型是數字,但是您要用單引號(')包裝所有插入的值。這意味着插入值時,它會嘗試將varchar(用單引號括起來的值)作爲數字值進行投射,並且失敗。

您需要確定您嘗試插入的值是數字,並在插入語句中從中刪除單引號。

例如:

string.Format("INSERT INTO Kabala1 (Nu_kabala,Ma_num,Date,Time,Total,Status,Name,User_n) VALUES('{0}','{1}','{2}','{3}',{4},'{5}','{6}','{7}')", n, Session["Ma_num"], now, tm, lprice, "sdfsdf", Session["user"], "sdfsdf"); 

凡{4}爲數字。

相關問題