2010-08-11 199 views
1

我試圖插入值這樣的DATABSE:插入到mysql數據庫

command.CommandText = "INSERT INTO mail('" + s2[0] + "') values" + "('" + s2[1] + "')"; 

S2 [0]包含字段的名稱,而S2 [1]包含值。 我想提一下,s2 [0]中包含的字符串完全匹配表中字段的名稱。

出了什麼問題?

PS:我也想知道拋出的異常如果表沒有一個字段匹配s2 [0]。

回答

1

只是從字符串的郵件後,刪除多餘的'

command.CommandText = "INSERT INTO mail(" + s2[0] + ") values" + "('" + s2[1] + "')"; 

嘗試使用SQL命令與sqlParameter

1

你已經嘗試引用這個字段的名字與apostrophies。不要這樣做 - 它不是一個值,它是SQL本身的一部分。您還缺少「值」和值集合的左括號之間的空格。這可能會或可能不會導致問題 - 不確定。例如,目前您的插入可能是這樣的:的

INSERT INTO mail('name') values('jon') 

代替

你也應該使用參數化查詢,以避免SQL注入攻擊。對於字段名稱很難做到,但您應該爲價值做到這一點。希望字段名稱不是來自用戶開始。