无法插入带有参数的行

本文关键字:参数 插入 | 更新日期: 2023-09-27 18:11:11

我正在尝试以下代码:

try
{
    SqlConnection conn = new SqlConnection("server=ARSLAN-LAPI''SQLEXPRESS;" +
                         "Trusted_Connection=yes;" +
                         "database=OTTS; " +
                         "connection timeout=30");
    conn.Open();
    String name=UserName.Text;
    String pwd=Password.Text;
    String query = "INSERT INTO dbo.user (username,password) 
                     VALUES(@username,@password)";
    SqlCommand command = new SqlCommand(query, conn);
    command.Parameters.Add("@username",name);
    command.Parameters.Add("@password",pwd);
    command.ExecuteNonQuery();
    conn.Close();
    ErrorMessage.Text="Well done!";
}
catch(SqlException ex)
{
     ErrorMessage.Text="You failed!" + ex.Message;
}

You failed!Incorrect syntax near the keyword 'user'.

无法插入带有参数的行

User是一个保留关键字,我强烈建议将该字段名称更改为其他内容。
但是,如果您仍然坚持使用它,请记住每次需要时将其括在方括号中。

string query = "INSERT INTO [dbo].[user] (username,password) VALUES(@username,@password)";

试试这个:

INSERT INTO dbo.[user] (username,password)   VALUES(@username,@password)

试试这样做,

SqlCommand command = new SqlCommand(query, conn);
command.Parameters.Add("@username",SqlDbType.VarChar,50).Value = name;
command.Parameters.Add("@password",SqlDbType.VarChar,50).Value= pwd;
command.ExecuteNonQuery();