Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
SqlCommand, проблема с параметрами
|
|||
|---|---|---|---|
|
#18+
Вот код: string myStr = "Data Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirectory|\\Database.mdf;Integrated Security=True;User Instance=True"; SqlConnection myConn = new SqlConnection(myStr); myConn.Open(); SqlCommand setCommand = new SqlCommand(); setCommand.Parameters.Add(new SqlParameter("@name", SqlDbType.VarChar)); setCommand.Parameters.Add(new SqlParameter("@s_name", SqlDbType.VarChar)); setCommand.Parameters["@name"].Value = "asd"; setCommand.Parameters["@s_name"].Value = "asdf"; string myInsert = "INSERT INTO authors (id, name, s_name) VALUES(2, @name, @s_name)"; SqlCommand myComm = new SqlCommand(myInsert, myConn); myComm.ExecuteNonQuery(); myConn.Close(); Почему возникает ошибка: Must declare the scalar variable "@name" В чём глюк? Подскажите кто знает ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2006, 20:19 |
|
||
|
SqlCommand, проблема с параметрами
|
|||
|---|---|---|---|
|
#18+
попробуй обращение к параметру без "собачки": setCommand.Parameters["name"].Value = "asd"; setCommand.Parameters["s_name"].Value = "asdf"; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2006, 21:32 |
|
||
|
SqlCommand, проблема с параметрами
|
|||
|---|---|---|---|
|
#18+
Вот код: string myStr = "Data Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirectory|\\Database.mdf;Integrated Security=True;User Instance=True"; SqlConnection myConn = new SqlConnection(myStr); myConn.Open(); SqlCommand setCommand = new SqlCommand(); setCommand.Parameters.Add(new SqlParameter("@name", SqlDbType.VarChar)); setCommand.Parameters.Add(new SqlParameter("@s_name", SqlDbType.VarChar)); setCommand.Parameters["@name"].Value = "asd"; setCommand.Parameters["@s_name"].Value = "asdf"; string myInsert = "INSERT INTO authors (id, name, s_name) VALUES(2, @name, @s_name)"; SqlCommand myComm = new SqlCommand(myInsert, myConn); myComm.ExecuteNonQuery(); myConn.Close(); Почему возникает ошибка: Must declare the scalar variable "@name" В чём глюк? Подскажите кто знает В корне не согласен с предыдущим оратором. Что значит собачку убери? Это в Аксесе можно убрать, а здесь SQL-сервер, нельзя убирать. Теперь правильный ответ. Ты выполняешь запрос, а не хранимую процедуру. В запросах нельзя использовать параметры, их можно использовать только в хранимых процедурах. Исключение может быть в Аксесе, но в данном случае мы имеем дело не с Аксесом. Есть многое на свете, друг Гораций, что непонятно нашим мудрецам. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.07.2006, 23:47 |
|
||
|
SqlCommand, проблема с параметрами
|
|||
|---|---|---|---|
|
#18+
Вот спецы собрались... Особенно "Max Pro". 1. "@" убирать НЕ НАДО. Это SQLServer. 2. параметры используются ВЕЗДЕ Ну а теперь по существу. Ты параметры засовываешь с один SqlCommand ("setCommand"), а выполняешь ДРУГОЙ ("myComm"). Чего ты ожидаешь? - | Мой Brainbench | BookReader 1.1 | Wallpaper Cycler | ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.07.2006, 01:35 |
|
||
|
|

start [/forum/topic.php?fid=18&gotonew=1&tid=1391676]: |
0ms |
get settings: |
12ms |
get forum list: |
21ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
138ms |
get topic data: |
9ms |
get first new msg: |
6ms |
get forum data: |
3ms |
get page messages: |
51ms |
get tp. blocked users: |
2ms |
| others: | 260ms |
| total: | 510ms |

| 0 / 0 |
