尝试运行以下代码时出现此错误。对我在做什么错有任何见解吗?我对此很陌生,并且想让它正常工作。到目前为止,在我之前提出的问题中,我从该站点获得的帮助为零。但是决定在放弃stackoverflow之前再给这个论坛一个机会
protected void SaveButton_Click(object sender, EventArgs e)
{
SqlConnection myConnection =
new SqlConnection(@"Data Source=.\sqlexpress;Initial Catalog=TESTdatabase;Integrated Security=True");
SqlCommand myCommand = new SqlCommand(
"INSERT into tblGenerator (GeneratorName, GeneratorAddress, GeneratorCity, GeneratorState, GeneratorZip, GeneratorPhone, GeneratorContact, GeneratorEPAID)" +
"VALUES (@GenName, @GenAdd, @GenCity, @GenState, @GenZip, @GenPhone, @GenContact, @GenEPAID), myConnection");
myCommand.Parameters.AddWithValue("@GeneratorName", GenName.Text);
myCommand.Parameters.AddWithValue("@GeneratorAddress", GenAdd.Text);
myCommand.Parameters.AddWithValue("@GeneratorCity", GenCity.Text);
myCommand.Parameters.AddWithValue("@GeneratorState", GenState.Text);
myCommand.Parameters.AddWithValue("@GeneratorZip", GenZip.Text);
myCommand.Parameters.AddWithValue("@GeneratorPhone", GenPhone.Text);
myCommand.Parameters.AddWithValue("@GeneratorContact", GenContact.Text);
myCommand.Parameters.AddWithValue("@GeneratorEPAID", GenEPAID.Text);
myConnection.Open();
myCommand.Connection = myConnection;
myCommand.ExecuteNonQuery();
myConnection.Close();
}
答案 0 :(得分:1)
首先,Stackoverflow非常有用:)不要放弃这个平台。
现在提出您的问题:
您的SQL语句期望的参数是:
(@GenName, @GenAdd, @GenCity, @GenState, @GenZip, @GenPhone, @GenContact, @GenEPAID)
稍后为它们分配不同的名称。
应该是:
myCommand.Parameters.AddWithValue("@GenName", GenName.Text);
myCommand.Parameters.AddWithValue("@GenAdd", GenAdd.Text);
myCommand.Parameters.AddWithValue("@GenCity", GenCity.Text);
myCommand.Parameters.AddWithValue("@GenState", GenState.Text);
myCommand.Parameters.AddWithValue("@GenZip", GenZip.Text);
myCommand.Parameters.AddWithValue("@GenPhone", GenPhone.Text);
myCommand.Parameters.AddWithValue("@GenContact", GenContact.Text);
myCommand.Parameters.AddWithValue("@GenEPAID", GenEPAID.Text);
使用@parameter
时,必须为具有相同确切名称的参数分配一个值。