【发布时间】:2013-07-29 12:14:55
【问题描述】:
尝试从文本框插入数据库,但它只接受整数而不接受字符 - 可能是什么问题?
string sCMD = string.Format("INSERT INTO [Table] ([Item], [Des1],[Des2], [Prodline], [ANR], [STime]) VALUES({0},{1},'0',{2},{3},{4})"
,txtText1.Text, txtText2.Text, txText3.Text, txtText4.Text, txtText5.Text);
在此上下文中不允许使用名称“”。有效表达式是常量、常量表达式和(在某些情况下)变量。不允许使用列名。
【问题讨论】:
-
数据库表中的列是什么?
-
想象一下如果用户在您的文本框中输入
some"valu"e会发生什么。 -
您的数据库是否允许在该特定列上使用 char/varchar?你用的是什么数据库?
-
您应该使用参数,而不是将查询和 data 组装为字符串(使用连接,或在这里使用格式)。搜索
<your database product> <your programming language> parameters应该会找到一些不错的结果。 -
你传递给字符串什么值?