2016-12-22 2 views
-2

Почему я получаю «неправильный синтаксис возле @sqlFalse»?Как решить ошибку «Неправильный синтаксис возле @parameter»?

Столбец IsConnected определяется как nvarchar.

Спасибо.

SqlCommand cmd = new SqlCommand($"insert into clientstable (Name, NickName,isconnected) values (@sqlname,@sqlNickname ,@sqlFlase", sc); 
cmd.Parameters.AddWithValue("@sqlName", textBoxName.Text); 
cmd.Parameters.AddWithValue("@sqlNickname", textBox2.Text); 
cmd.Parameters.AddWithValue("@sqlFalse", false); 
int num = cmd.ExecuteNonQuery(); 
+3

Похож как ошибка орфографии: sqlFlase должно быть sqlFalse – Pelle

+0

Вы правы. Благодарю. – NateS

+0

И я не уверен, что происходит при вставке значения bool (@sqlFalse) в столбец nvarchar. –

ответ

1

изменить это

values (@sqlname,@sqlNickname ,@sqlFlase", sc) 

к этому

values (@sqlname,@sqlNickname ,@sqlFalse", sc) 

как Pelle упоминается в комментариях

0

Если вы хотите сохранить NVARCHAR, но с ложной СТОИМОСТЬЮ вам необходимо:

cmd.Parameters.AddWithValue("@sqlFalse", "false"); 

Но, вероятно, вы должны изменить этот тип на Boolean.

+0

и рассмотрим @Pikoh комментарий, флаг Не редактируйте свой вопрос задать новый. Вы отсутствует закрывающая скобка ... – Juan

0

Вы, вероятно, не хватает а «)» после того, как @sqlFalse

Попробуйте скопировать этот и посмотреть, если это помогает.

SqlCommand cmd = new SqlCommand($"insert into clientstable (Name, NickName,isconnected) values (@sqlname,@sqlNickname ,@sqlFlase)", sc); 
Смежные вопросы