C# 没有为一个或多个必需参数给出值
C# No value given for one or more required parameters
SQL语法有什么错误吗?
Sql 语法:
UPDATE Table1 SET
Username='Diana' ,
Email='Diana@gmail.com' ,
FirstName='' ,
LastName='' ,
CrediCardNum=''
Where Username='Diana'
它一直给我错误:
No value given for one or more required parameters.
我尝试重新启动 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数组是字符串数组
我怀疑电子邮件地址中的“@”使 SqlCommand 认为您正在传递参数。避免这种情况的方法如下:
字符串sql = "UPDATE myTable SET col1 = @val1, col2=@val2 WHERE col3 = @val3";
然后,一旦你用这个SQL创建了命令对象:
myCommand.Parameters.AddWithValue("val1", "anEmail@address.com");
等等。
您的栏目名称 creditcardNum
缺失 t
Command.CommandText = "UPDATE Table1 SET Username='"+textBox10.Text+"' ,
Email='"+textBox9.Text+"' , FirstName='"+textBox8.Text+ "' ,
LastName='"+textBox7.Text+"' , CrediCardNum='"+textBox6.Text+"' Where
Username='"+m[0]+"'" ;
应该是
Command.CommandText = "UPDATE Table1 SET Username='"+textBox10.Text+"' ,
Email='"+textBox9.Text+"' , FirstName='"+textBox8.Text+ "' ,
LastName='"+textBox7.Text+"' , CreditCardNum='"+textBox6.Text+"' Where
Username='"+m[0]+"'" ;
你的table定义图片说CreditCardNum
SQL语法有什么错误吗?
Sql 语法:
UPDATE Table1 SET
Username='Diana' ,
Email='Diana@gmail.com' ,
FirstName='' ,
LastName='' ,
CrediCardNum=''
Where Username='Diana'
它一直给我错误:
No value given for one or more required parameters.
我尝试重新启动 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数组是字符串数组
我怀疑电子邮件地址中的“@”使 SqlCommand 认为您正在传递参数。避免这种情况的方法如下:
字符串sql = "UPDATE myTable SET col1 = @val1, col2=@val2 WHERE col3 = @val3";
然后,一旦你用这个SQL创建了命令对象:
myCommand.Parameters.AddWithValue("val1", "anEmail@address.com");
等等。
您的栏目名称 creditcardNum
缺失 t
Command.CommandText = "UPDATE Table1 SET Username='"+textBox10.Text+"' ,
Email='"+textBox9.Text+"' , FirstName='"+textBox8.Text+ "' ,
LastName='"+textBox7.Text+"' , CrediCardNum='"+textBox6.Text+"' Where
Username='"+m[0]+"'" ;
应该是
Command.CommandText = "UPDATE Table1 SET Username='"+textBox10.Text+"' ,
Email='"+textBox9.Text+"' , FirstName='"+textBox8.Text+ "' ,
LastName='"+textBox7.Text+"' , CreditCardNum='"+textBox6.Text+"' Where
Username='"+m[0]+"'" ;
你的table定义图片说CreditCardNum