【发布时间】:2015-09-09 04:26:07
【问题描述】:
SQL 语法有什么问题吗?
Sql 语法:
UPDATE Table1 SET
Username='Diana' ,
Email='Diana@gmail.com' ,
FirstName='' ,
LastName='' ,
CrediCardNum=''
Where Username='Diana'
它总是给我错误:
没有为一个或多个必需参数指定值。
我尝试重新启动 Visual Studio,但一直报同样的错误
c#代码
f1.Connection1.Open();
OleDbCommand Command = new OleDbCommand();
Command.Connection = f1.Connection1;
if(m[6].Contains("Red"))
Command.CommandText = "UPDATE userdlt SET Username='"+textBox10.Text+"' , Email='"+textBox9.Text+"' , FirstName='"+textBox8.Text+ "',LastName='"+textBox7.Text+"',CrediCardNum='"+textBox6.Text+"' Where Username='"+m[0]+"'" ;
else
Command.CommandText = "UPDATE Table1 SET Username='"+textBox10.Text+"' , Email='"+textBox9.Text+"' , FirstName='"+textBox8.Text+ "' , LastName='"+textBox7.Text+"' , CrediCardNum='"+textBox6.Text+"' Where Username='"+m[0]+"'" ;
Clipboard.SetText(Command.CommandText);
Command.ExecuteNonQuery();
f1.Connection1.Close();
MessageBox.Show("Member UPDATED Succefully");
m 数组是字符串数组
【问题讨论】:
-
能否请您也展示您的 C# 代码?
-
请发布您的完整代码
-
请发布您的 C# 代码。您似乎正在使用 OleDb,但如果没有更多信息,即使这样也不清楚。
-
@Hackathon 您的所有列都是字符类型的?顺便说一句,您应该始终使用parameterized queries。这种字符串连接对SQL Injection 攻击开放。
-
CreditCardNum 在您的查询中拼写错误
标签: c# sql syntax ms-access-2007 helper