"Incorrect syntax near ')'."
"Incorrect syntax near ')'."
我有一个程序可以接受一些输入并对它们进行处理,然后将它们存储在本地数据库中(使用 SQL 服务器)。
我有以下连接代码:
SqlConnection con = new SqlConnection();
con.ConnectionString = ("Data Source=DESKTOP-PGHMM6M;Initial Catalog=LocalUsers;Integrated Security=True");
con.Open();
String st = "INSERT INTO data(Username,Password, Hash, EncryptedPassword)";
SqlCommand cmd = new SqlCommand(st, con);
cmd.Parameters.AddWithValue("@Username", Username);
cmd.Parameters.AddWithValue("@Password", textBox2.Text);
cmd.Parameters.AddWithValue("@Hash", savedPasswordHash);
cmd.Parameters.AddWithValue("@EncryptedPassword", FinalEncryptedPass);
cmd.ExecuteNonQuery();
con.Close();
它在 cmd.ExecuteNonQuery();
行失败,并抛出此异常:
Incorrect syntax near ')'
我什至不确定从哪里开始,因为自大学以来(107 年前)我还没有做过任何这样的事情。任何人都可以帮助我开始吗?我一直在搜索,但似乎没有任何效果。
也许您的插入内容应该如下所示:
INSERT INTO data (Username, Password, Hash, EncryptedPassword)
VALUES (@Username, @Password, @Hash, @EncryptedPassword)
VALUES
子句需要位于插入语句字符串中。我还建议使用 using
块而不是直接打开 SqlConnection
,因为无论是完成还是错误退出时都会自动关闭连接。虽然从技术上讲,在命令文本中使用 String
和 string
没有区别,但 String
最常用于引用 class 而 string
通常用于对象引用,例如此处的情况。
string connectionString = @"YourConnectionString";
string st = "INSERT INTO data(Username,Password, Hash, EncryptedPassword) VALUES (@Username, @Password, @Hash, @EncryptedPassword)";
using (SqlConnection con = new SqlConnection(connectionString))
{
SqlCommand cmd = new SqlCommand(st1, con);
cmd.Parameters.AddWithValue("@Username", Username);
cmd.Parameters.AddWithValue("@Password", textBox2.Text);
cmd.Parameters.AddWithValue("@Hash", savedPasswordHash);
cmd.Parameters.AddWithValue("@EncryptedPassword", FinalEncryptedPass);
con.Open();
cmd.ExecuteNonQuery();
}
我有一个程序可以接受一些输入并对它们进行处理,然后将它们存储在本地数据库中(使用 SQL 服务器)。
我有以下连接代码:
SqlConnection con = new SqlConnection();
con.ConnectionString = ("Data Source=DESKTOP-PGHMM6M;Initial Catalog=LocalUsers;Integrated Security=True");
con.Open();
String st = "INSERT INTO data(Username,Password, Hash, EncryptedPassword)";
SqlCommand cmd = new SqlCommand(st, con);
cmd.Parameters.AddWithValue("@Username", Username);
cmd.Parameters.AddWithValue("@Password", textBox2.Text);
cmd.Parameters.AddWithValue("@Hash", savedPasswordHash);
cmd.Parameters.AddWithValue("@EncryptedPassword", FinalEncryptedPass);
cmd.ExecuteNonQuery();
con.Close();
它在 cmd.ExecuteNonQuery();
行失败,并抛出此异常:
Incorrect syntax near ')'
我什至不确定从哪里开始,因为自大学以来(107 年前)我还没有做过任何这样的事情。任何人都可以帮助我开始吗?我一直在搜索,但似乎没有任何效果。
也许您的插入内容应该如下所示:
INSERT INTO data (Username, Password, Hash, EncryptedPassword)
VALUES (@Username, @Password, @Hash, @EncryptedPassword)
VALUES
子句需要位于插入语句字符串中。我还建议使用 using
块而不是直接打开 SqlConnection
,因为无论是完成还是错误退出时都会自动关闭连接。虽然从技术上讲,在命令文本中使用 String
和 string
没有区别,但 String
最常用于引用 class 而 string
通常用于对象引用,例如此处的情况。
string connectionString = @"YourConnectionString";
string st = "INSERT INTO data(Username,Password, Hash, EncryptedPassword) VALUES (@Username, @Password, @Hash, @EncryptedPassword)";
using (SqlConnection con = new SqlConnection(connectionString))
{
SqlCommand cmd = new SqlCommand(st1, con);
cmd.Parameters.AddWithValue("@Username", Username);
cmd.Parameters.AddWithValue("@Password", textBox2.Text);
cmd.Parameters.AddWithValue("@Hash", savedPasswordHash);
cmd.Parameters.AddWithValue("@EncryptedPassword", FinalEncryptedPass);
con.Open();
cmd.ExecuteNonQuery();
}