SqlDataException: неправильный синтаксис рядом с '=' - PullRequest
0 голосов
/ 14 мая 2019

Я пытаюсь получить данные из базы данных, но получаю эту ошибку. Я уверен, что мне не хватает какой-то простой логики, но я не мог понять, что не так с запросом, так как он работает нормально непосредственно в БД.

SqlCommand retrievedgeids = new SqlCommand("Select edgeid from Edges where fromIntersection = @fromid and toIntersection = @toid", sqlconnection);

retrievedgeids.Parameters.AddWithValue("@fromid", fromid);
retrievedgeids.Parameters.AddWithValue("@toid", toid);

using (SqlDataReader reader = retreievedgeids.ExecuteReader())
{
    while (reader.Read())
    {
         if (reader["edgeid"] != System.DBNull.Value)
         {
              edgeids.Add(Convert.ToInt32(reader["edgeid"]));
         }
    }
}

И это сообщение об ошибке:

System.Data.SqlClient.SqlException (0x80131904): неправильный синтаксис рядом с '='.

в System.Data.SqlClient.SqlConnection.OnError (исключение SqlException, логическое перерыв соединения, действие 1 wrapCloseInAction)<br> at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection, Action 1 wrapCloseInAction) в System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning (TdsParserStateObject stateObj, логический callerHasConnectionLock, логический asyncClose) в System.Data.SqlClient.TdsParser.TryRun (RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, данные Boolean) в System.Data.SqlClient.SqlDataReader.TryConsumeMetaData () в System.Data.SqlClient.SqlDataReader.get_MetaData () в System.Data.SqlClient.SqlCommand.FinishExecuteReader (SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString, логическое значение isInternal, логическое значение дляDescribeParameterEncryption, логическое значение mustCacheForAlwaysEnc) в System.Data.SqlClient.SqlCommand.RunExecuteReaderTds (CommandBehavior cmdBehavior, RunBehavior runBehavior, логический returnStream, логический асинхронный, Int32-тайм-аут, задача и задача, логический asyncWrite, Boolean в System.Data.SqlClient.SqlCommand.RunExecuteReader (CommandBehavior cmdBehavior, RunBehavior runBehavior, логический returnStream, метод String, завершение TaskCompletionSource`1, тайм-аут Int32, Task & task, Boolean & usedCache в Boolean, Boolean, Boolean, Boolean, Boolean), Boolean, Boolean, Boolean, Boolean, Boolean, Boolean, Boolean, Boolean, Boolean, Boolean, Boolean, Boolean, Boolean, Boolean, Boolean, Boolean, Boolean, Boolean, Boolean: Boolean в System.Data.SqlClient.SqlCommand.RunExecuteReader (CommandBehavior cmdBehavior, RunBehavior runBehavior, логический returnStream, метод String) в System.Data.SqlClient.SqlCommand.ExecuteReader (поведение CommandBehavior, метод String) в System.Data.SqlClient.SqlCommand.ExecuteReader () в NewRNG.UpdatedRNG.getalledges () в C: \ Users \ ssindhu \ source \ repos \ NewRNG \ NewRNG \ updatedRNG.cs: строка 148 ClientConnectionId: 36446293-901d-49a3-85a7-da73e2acaedd Номер ошибки: 102, состояние: 1, класс: 15

Можете ли вы помочь мне разобраться с этой проблемой?

1 Ответ

0 голосов
/ 14 мая 2019

Используйте Parameters.Add вместо AddWithValue, например:

retrievedgeids.Parameters.Add("@fromid", SqlDbType.Int);
retrievedgeids.Parameters["@fromid"].Value = fromid; 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...