#c# #sql-server #visual-studio #sql-server-2012
#c# #sql-сервер #visual-studio #sql-server-2012
Вопрос:
Я пытаюсь использовать следующий код:
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'.
Пожалуйста, направьте меня..
Ответ №1:
User — это зарезервированное ключевое слово, я настоятельно рекомендую изменить название этого поля на что-то другое.
Однако, если вы все еще настаиваете на его использовании, не забывайте заключать его в квадратные скобки каждый раз, когда оно вам понадобится.
string query = "INSERT INTO [dbo].[user] (username,password) VALUES(@username,@password)";
Ответ №2:
Попробуйте это:
INSERT INTO dbo.[user] (username,password) VALUES(@username,@password)
Ответ №3:
попробуйте что-то вроде этого,
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();