|
Ошибка в Sql-запросе в C#
|
|||
---|---|---|---|
#18+
Помогите, плиз. MS VisualStudio 2013 выдает ошибку Incorrect syntax near FNS в запросе Код: c# 1.
Много чего перепробывал, ничего не помогает, может кто-нибудь подскажет, в чем дело ... |
|||
:
Нравится:
Не нравится:
|
|||
22.05.2015, 23:34 |
|
Ошибка в Sql-запросе в C#
|
|||
---|---|---|---|
#18+
MakoMaxx, дело в том, что нужно использовать параметры, а не конкатенацию строки для формирования запроса ... |
|||
:
Нравится:
Не нравится:
|
|||
22.05.2015, 23:42 |
|
Ошибка в Sql-запросе в C#
|
|||
---|---|---|---|
#18+
Процитирую - "откройте для себя параметры" :) Ну и условия в WHERE нужно чем-то соединять... OR или AND ... что там у вас за логика... ... |
|||
:
Нравится:
Не нравится:
|
|||
22.05.2015, 23:43 |
|
Ошибка в Sql-запросе в C#
|
|||
---|---|---|---|
#18+
Спасибо) Воспользовавшись советами, переписал с параметрами: Код: c# 1. 2. 3. 4. 5. 6. 7.
Теперь возникла новая ошибка Invalid column name 'FNS' Бегло просмотрел Гугл по этой ошибке - решения не нашел ... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2015, 00:00 |
|
Ошибка в Sql-запросе в C#
|
|||
---|---|---|---|
#18+
А решения тут и нет, да и гуглить бессмысленно. Ну нету столбца FNS в таблице Lecturers, что ж поделаешь. Кстати, параметры не надо брать в кавычки, ибо это будет текстовый литерал, а не параметр ... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2015, 01:06 |
|
Ошибка в Sql-запросе в C#
|
|||
---|---|---|---|
#18+
Ну и для простых случаев параметров (а у ТС они именно такие) нужно использовать SqlCommand.Parameters.AddWithValue - с типами (SqlDbType) параметров этот метод разберется сам. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2015, 08:16 |
|
Ошибка в Sql-запросе в C#
|
|||
---|---|---|---|
#18+
MakoMaxx Код: c# 1.
Но правильный путь Roman MejtesMakoMaxx, дело в том, что нужно использовать параметры, а не конкатенацию строки для формирования запроса ... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2015, 10:22 |
|
Ошибка в Sql-запросе в C#
|
|||
---|---|---|---|
#18+
Извините, ответил не глядя на другие ответы ... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2015, 10:26 |
|
Ошибка в Sql-запросе в C#
|
|||
---|---|---|---|
#18+
MakoMaxx Код: c# 1.
При использовании параметров не надо ставить одинарные кавычки Код: c# 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2015, 10:28 |
|
Ошибка в Sql-запросе в C#
|
|||
---|---|---|---|
#18+
Сон Веры Павловнынужно использовать SqlCommand.Parameters.AddWithValue Не путайте новичков! AddWithValue не указывает тип! Если хочется сразу указать и тип, и значение присвоить, то надо использовать Add с Value Код: c# 1.
https://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlparametercollection.add(v=vs.110).aspx ... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2015, 10:37 |
|
Ошибка в Sql-запросе в C#
|
|||
---|---|---|---|
#18+
Cat2Не путайте новичков! AddWithValue не указывает тип! Вот эта фраза: Сон Веры Павловныс типами (SqlDbType) параметров этот метод разберется сам. как бы и подразумевает, что тип указывать не нужно - тип параметра в базе метод выведет сам из значения. Кто-то из новичков понял эту фразу как-то по-другому? Cat2Если хочется сразу указать и тип, и значение присвоить, то надо использовать Add с Value Код: c# 1.
https://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlparametercollection.add(v=vs.110).aspx И только исключительно его? Я, например, делаю вот так: Код: c# 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2015, 11:29 |
|
Ошибка в Sql-запросе в C#
|
|||
---|---|---|---|
#18+
Сон Веры ПавловныИ только исключительно его? Я, например, делаю вот так: Код: c# 1.
Можно и так. Но это не лучшая практика всегда и везде Ваш код - Код: c# 1. 2. 3. 4. 5. 6. 7.
Мой код Код: c# 1. 2. 3. 4. 5. 6. 7. 8.
... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2015, 11:57 |
|
Ошибка в Sql-запросе в C#
|
|||
---|---|---|---|
#18+
Cat2Ваш код - Код: c# 1. 2. 3. 4. 5. 6. 7.
Не угадали. Мой код - Код: c# 1. 2. 3. 4. 5. 6. 7. 8.
- для стринговых параметров указание SqlDbType.NVarChar избыточно, т.к. они таковыми являются по умолчанию (оно было бы нужно, если бы для нас был критичен тип VarChar, например - иначен возможны коллизии сравнения и сортировки). А для постоянно используемого параметра я предпочитаю иметь постоянную ссылку в виде переменной, а не заставлять CLR постоянно искать этот параметр в коллекции (это не говоря о том, что приведенный код неоптимален - здесь нужно использовать UDTT, и вот в этом случае без Parameters.Add не обойтись, да). ... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2015, 12:12 |
|
Ошибка в Sql-запросе в C#
|
|||
---|---|---|---|
#18+
хотя вот это - выпендрёж: Сон Веры Павловны Код: c# 1. 2.
по большому счету, вполне хватило бы Код: c# 1.
- неважно, что потом аналогичное значение один раз присваивается в цикле, главное, чтобы тип вывелся (а куда он денется). ... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2015, 12:15 |
|
Ошибка в Sql-запросе в C#
|
|||
---|---|---|---|
#18+
Сон Веры Павловны- для стринговых параметров указание SqlDbType.NVarChar избыточно, т.к. они таковыми являются по умолчанию (оно было бы нужно, если бы для нас был критичен тип VarChar, например - иначен возможны коллизии сравнения и сортировки). А для постоянно используемого параметра я предпочитаю иметь постоянную ссылку в виде переменной, а не заставлять CLR постоянно искать этот параметр в коллекции (это не говоря о том, что приведенный код неоптимален - здесь нужно использовать UDTT, и вот в этом случае без Parameters.Add не обойтись, да). Я не вылизывал код для конкретного случая. Я показал разницу в использовании. Когда к месту, я и AddWithValue использую ... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2015, 13:00 |
|
Ошибка в Sql-запросе в C#
|
|||
---|---|---|---|
#18+
Сон Веры Павловны Код: c# 1.
Микрософт открыла для ленивых возможность не определять тип переменной. Пишем все на var! ... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2015, 13:01 |
|
Ошибка в Sql-запросе в C#
|
|||
---|---|---|---|
#18+
Cat2Микрософт открыла для ленивых возможность не определять тип переменной. Пишем все на var! Это предложение похоливарить? Тема избитая и баянистая, но я не против. Я лично считаю, что код вида Код: c# 1.
ничуть не менее читабельным (в т.ч. в плане понимания типа переменной sha1HashAlgorithm), но на 34 символа более лаконичным, чем Код: c# 1.
. С другой стороны, Код: c# 1.
не дает никакого понятия о типе перемменной alg: что это? этот наш X509SubjectKeyIdentifierHashAlgorithm? AsymmetricAlgorithm? SymmetricAlgorithm? CngAlgorithm? HashAlgorithm? и т.п. Вывод прост и банален: каждое средство хорошо там, где оно дает преимущества, и плохо там, где не дает преимуществ. Ну, а альтернативно одаренные при наличии любых средств найдут способ все разбить, и порезать руки. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2015, 13:28 |
|
Ошибка в Sql-запросе в C#
|
|||
---|---|---|---|
#18+
Сон Веры Павловны Код: c# 1.
не дает никакого понятия о типе перемменной alg: что это? этот наш X509SubjectKeyIdentifierHashAlgorithm? AsymmetricAlgorithm? SymmetricAlgorithm? CngAlgorithm? HashAlgorithm? и т.п. Вывод прост и банален: каждое средство хорошо там, где оно дает преимущества, и плохо там, где не дает преимуществ. Ну, а альтернативно одаренные при наличии любых средств найдут способ все разбить, и порезать руки. ну не знаю, как по мне, вполне удобно, тем более, если возникли вопросы, всегда можно посмотреть, что подразумевается под var. еще это удобно, когда например я решил заменить 1 тип на другой и для этого не надо редактировать 100500 строк кода ) ... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2015, 14:25 |
|
Ошибка в Sql-запросе в C#
|
|||
---|---|---|---|
#18+
с Dapper - меньше букв получается ... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2015, 15:50 |
|
Ошибка в Sql-запросе в C#
|
|||
---|---|---|---|
#18+
Roman Mejtesкогда например я решил заменить 1 тип на другой и для этого не надо редактировать 100500 строк кода ) Как бы считается, что на то и классы, что бы внутри них поправить, а не в 100500 строк кода ... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2015, 15:56 |
|
|
start [/forum/topic.php?fid=20&fpage=84&tid=1401515]: |
0ms |
get settings: |
8ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
54ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
49ms |
get tp. blocked users: |
1ms |
others: | 20ms |
total: | 162ms |
0 / 0 |