|
выполнить команду с параметрами
|
|||
---|---|---|---|
#18+
Посмотрел примеры, написал свой код: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
что не так? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.05.2004, 12:07 |
|
выполнить команду с параметрами
|
|||
---|---|---|---|
#18+
Ну во первых надо писать как именно ругается. А во вторых у вас у всех параметров отсутствуют значения. И не только у price. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.05.2004, 12:13 |
|
выполнить команду с параметрами
|
|||
---|---|---|---|
#18+
Этот код я написал что бы общую идею показать, значения намеренно не указал, посчитал что нулл это тоже значение. Но для чистоты эксперимента можно использовать вот такой вариант: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
Must declare the variable '@price'. Кстати попутно хочется выяснить, поле description имеет тип text. Я воспользовался OleDbType.VarChar, а что подходит в этом случае больше всего? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.05.2004, 12:50 |
|
выполнить команду с параметрами
|
|||
---|---|---|---|
#18+
>поле description имеет тип text. Я воспользовался OleDbType.VarChar, а что подходит в этом случае больше всего? МДля MS SQL больше всего подходит System.Data.SqlDbType.Text >must declare the variable Попробуйте @price везде поменять например на @p2, ошибка останется? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.05.2004, 13:06 |
|
выполнить команду с параметрами
|
|||
---|---|---|---|
#18+
Стоп. Дак вы же используете OleDBProvider а не SQLProvider ну тогда и делайте через знаки вопросов: Код: plaintext 1.
Из - за этого и все проблемы. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.05.2004, 13:28 |
|
выполнить команду с параметрами
|
|||
---|---|---|---|
#18+
Самостоятельно поразмыслив я решил прблему. Рассудил, что ошибка Must declare the variable '@price' это скулевская ошибка, что закономерно, в запросе Код: plaintext
не объявлены @price, @deadline, @description. Очевидно значек @ в запросе не говорит ADO.NET о том, что это параметр. Пишу Код: plaintext
и все встает на свои места, запрос работает. Еще вопрос, хотя я работаю с скл сервер 2000, я решил использовать ОлеДб объекты, как более универсальные. Набью руку, будет легче с аксесом и другими источниками работать. Но может я не прав? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.05.2004, 13:31 |
|
выполнить команду с параметрами
|
|||
---|---|---|---|
#18+
Спасибо за ответ Все таки что бы вы мне рекомендовали использовать? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.05.2004, 13:34 |
|
выполнить команду с параметрами
|
|||
---|---|---|---|
#18+
ИМХО: Для MS SQL однозначно использовать SQLProvider + stored procedure Вместо Access - MSDE и тоже SQL Provider + stored procedure :-) Что касается этой проблемы, дело в том что MS SQL заточен под использование именованных параметров, тогда как универсальный OLEDB нет и в конечном счете ему, при использовании MS SQL ( требование MS SQL - это именованные параметры) приходитсь еще и parsить SQLText, подставляя вместо "?" - именнованные параметры. Вывод - за универсальность приходиться платить. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.05.2004, 13:55 |
|
выполнить команду с параметрами
|
|||
---|---|---|---|
#18+
Думаю уже понятно, что при использовании SQLProvider здесь ошибок не будет: Код: plaintext 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
17.05.2004, 13:58 |
|
|
start [/forum/topic.php?fid=17&fpage=128&tid=1354123]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
163ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
45ms |
get tp. blocked users: |
1ms |
others: | 306ms |
total: | 556ms |
0 / 0 |