Я получаю эту ошибку, когда хочу прочитать таблицу:
System.Data.SqlClient.SqlException (0x80131904): неправильный синтаксис рядом с ','. в System.Data.SqlClient.SqlConnection.OnError (исключение SqlException, логическое breakConnection, Action
1 wrapCloseInAction) at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection, Action
1 wrapCloseInAction) в System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning (TdsParserState.DBject stateObj, BooleanCleanserCrypt.ColeanserCrypto, BooleanCleanserCryptoc, BooleanClientCrypto, BooleanClientCrypto, BooleanClientCryptoCrypt, BooleanClientClient.club, BooleanCallerTry, BooleanClientCrypt. (RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean & dataReady) в System.Data.SqlClader.TaLaDataCode (System.Data.SqlClader.SqlientaDataqons) в 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, булева describeParameterEncryptionReque st) в System.Data.SqlClient.SqlCommand.RunExecuteReader (CommandBehavior cmdBehavior, RunBehavior runBehavior, логический returnStream, метод String, завершение TaskCompletionSource`1, тайм-аут Int32, задача и задача, Boolean asyncWriteClient (Boolean asyncWrite) в System.Data CommandBehavior, cmdBehavior, RunBehavior, runBehavior, Boolean returnStream, метод String) в System.Data.SqlClient.SqlCommand.ExecuteReader (поведение CommandBehavior, метод String) в System.Data.SqlClient.SqlCommand.Execormsohwat () при обновлении ) в C: \ Users \ Soroush \ documents \ visual studio 2015 \ Projects \ hamsohbat \ hamsohbat \ Form1.cs: строка 327 в hamsohbat.Form1.GetUpdates (Int64 ii, смещение Int32) в C: \ Users \ Soroush \ documents \ Visual Studio 2015 \ Projects \ hamsohbat \ hamsohbat \ Form1.cs: строка 113 ClientConnectionId: 02ad4c40-e0e7-47ac-91cc-ad88bcdf057d Номер ошибки: 102, состояние: 1, класс: 15
соответствующий раздел моего кода:
using (SqlConnection con = new SqlConnection(@"Data Source=.\sqlexpress;AttachDbFilename=" + Directory.GetCurrentDirectory() + @"\MembersDB.mdf;Integrated Security=True;User Instance=True"))
{
foreach (Int32 x in matches)
{
con.Open();
using (SqlCommand cmd = new SqlCommand("SELECT ([UserName], [FName], [LName], [NickName]) FROM [Table] WHERE [TelegramId]=" + x.ToString(), con))
using (SqlDataReader reader = cmd.ExecuteReader())
while (reader.Read())
bot.SendTextMessage(update.Message.Chat.Id, "Nick: " + reader["NickName"].ToString() + "\nFirst Name: " + reader["FName"].ToString() + "\nLast Name: " + reader["LName"].ToString() + "\nTelegram ID: @" + reader["UserName"].ToString());
}
}
Я поместил несколько сообщений sendmessages между строками моего кода, чтобы отследить его, и я думаю, что проблема в этой строке (возможно, я ошибаюсь):
using (SqlCommand cmd = new SqlCommand("SELECT ([UserName], [FName], [LName], [NickName]) FROM [Table] WHERE [TelegramId]=" + x.ToString(), con))
а столбцы моей таблицы: Id, TelegramId, Username, FName, LName, Nickname
спасибо за Ваше внимание