2010-08-11 201 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注入攻击。对于字段名称很难做到,但您应该为价值做到这一点。希望字段名称不是来自用户开始。