Gaurav Pawar Ответов: 1

Сэр, я получаю ошибку при выполнении кода БД


охраняемых недействительными методе button2_click(объект отправителя, EventArgs в электронной)
{
пробовать
{
SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings ["ConnectionString"].Параметр connectionString);
Коннектикут.Открыть();
string insert = " вставить в таблицу(имя пользователя,адрес электронной почты,пароль,страна) значения (@uname,@email,@pwd,@country)";
SqlCommand com = new SqlCommand(insert, conn);
ком.Параметры.AddWithValue ("@uname", un. Text);
ком.Параметры.AddWithValue ("@email", eid.Текст);
ком.Параметры.AddWithValue ("@pwd", pwd. Text);
ком.Параметры.AddWithValue ("@country", страна.Элемент.Метод toString());
ком.Метод executenonquery();
Ответ.Перенаправление ("data. aspx");

Ответ.Напишите ("регистрация прошла успешно");
Коннектикут.Закрывать();
}
поймать (исключение бывший)
{
Ответ.Write ("error" + ex. ToString());
}
}


ошибка:

errorSystem.Data.SqlClient.SqlException (0x80131904): неправильный синтаксис рядом с ключевым словом "Таблица". в System.Data.SqlClient.SqlConnection.OnError (исключение SqlException, логическое breakConnection, Action`1 wrapCloseInAction) в System.Data.SqlClient.SqlInternalConnection.OnError (исключение SqlException, Boolean breakConnection, Action`1 wrapClientInAction) .TdsParser.ThrowExceptionAndWarning (TdsParserStateObject stateObj, Boolean, Boolean callerHasConnectionLock asyncClose) в System.Data.SqlClient.TdsParser.TryRun (RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader DATASTREAM, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean & dataReady) в System.Data.SqlClient. SqlCommand.FinishExecuteReader (SqlDataReader DS, runBehavior runBehavior, String resetOptionsString) на System.Data.SqlClient.SqlCommand.RunExecuteReaderTds (CommandBehavior cmdBehavior, runBehavior runBehavior, булева returnStream, булева асинхронные, Int32 тайм-аут, задачи и задачи, булева asyncWrite, SqlDataReader DS, булева describeParameterEncryptionRequest ) в System. Data.SqlClient.SqlCommand.RunExecuteReader (CommandBehavior cmdBehavior, RunBehavior runBehavior, логический returnStream, метод String, завершение TaskCompletionSource`1, тайм-аут Int32, задача и задача, логическое asyncWrite) в System`InternalCompletionCompletionCompletionCompletionCompletionCompletionCompletionCompletionCompletionCompletionCompletionCompletion. String methodName, Boolean sendToPipe, Int32 timeout, Boolean asyncWrite) в System.Data.SqlClient.SqlCommand.ExecuteNonQuery () в web.register.Button2_Click (Отправитель объекта, EventArgs e) в E: \ TECOMP VI \ web \ web \ web \ register.aspx.cs: строка 31 ClientConnectionId: cc386255-98b2-42bb-8105-a2c5a76799dd Номер ошибки: 156, состояние: 1, класс: 15

Что я уже пробовал:

сэр, я получаю ошибку при выполнении кода БД, пожалуйста, проверьте это

1 Ответов

Рейтинг:
8

F-ES Sitecore

Ваш sql вставляется в таблицу, буквально называемую таблицей. Если это так и ваша таблица действительно называется так, то решение состоит в том, чтобы переименовать таблицу во что-то подходящее, например "пользователь". Независимо от этого, когда вы используете ключевые слова в качестве имен таблиц или полей, вам нужно заключить их в квадратные скобки, чтобы SQL знал, что вы имеете в виду их буквально

string insert = "insert into [Table](username,email,password,country) values (@uname,@email,@pwd,@country)";


Если ваша таблица не называется таблицей, то просто замените таблицу правильным именем.


OriginalGriff

Называть свой стол "столом" - это немного... хм... глупый.
Как назвать приложение "приложение" или "ехе"... :смеяться:
:большой палец вверх:

Afzaal Ahmad Zeeshan

5ед.