Visual Studio c#中数据库中的更新命令,但是它给出语法错误

问题描述 投票:-1回答:1
SqlCommand query=new SqlCommand("update registration set Name='"+name+
 "',Gender='"+gender+"',Blood_Group='"+blood+"',Date_Of_Birth='" +
 dateTimePicker1+"',City='"+city+"',Phone_Number='" + phone +
 "',Email='"+email+
 "'  where Id='"+id+"','"+username +
 "','"+pass+"','"+utype+"'",conn);
 query.ExecuteNonQuery();
asp.net
1个回答
0
投票

欢迎使用StackOverflow,

为了更好地了解SqlCommand的工作原理,请尝试阅读this

我建议您添加有关错误的更多信息

我试图稍微重构您的代码,以帮助您解决问题:

1)首先,我们创建一个字符串,该字符串将存储您的查询并使用“ @”字符记录变量名称

            string query =
            $"UPDATE registration " +
            $"SET Name = @name," +
            $"  Gender = @gender," +
            $"  Blood_Group = @blood," +
            $"  Date_Of_Birth = @datedime'," +
            $"  City = @city" +
            $"  Phone_Number = @phone" +
            $"  Email = @email " +
            $"WHERE Id = @id AND " +
            $"  username = @unsername AND" +
            $"  password = @pass AND " +
            $"  utype = @userType";

2)然后我们像这样打开SqlConnection:

           SqlConnection connection = new SqlConnection(connectionString)

3)接下来,我们实例化命令,并添加参数

           SqlCommand command = new SqlCommand(query, connection);

           command.Parameters.Add("@name", SqlDbType.VarChar(30));//max length 30 characters
           command.Parameters["@name"].Value = name;// here you assign your variables

           command.Parameters.Add("@gender", SqlDbType.VarChar(1));
           command.Parameters["@gender"].Value = gender;

4)继续添加所有其他变量,以相同的方式,如果在选择哪个SqlDbType时遇到麻烦,here则具有所有类型的含义

希望我能提供帮助,不要害怕问,并要求澄清,祝您好运!

© www.soinside.com 2019 - 2024. All rights reserved.