Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / SqlCommand, проблема с параметрами / 4 сообщений из 4, страница 1 из 1
14.07.2006, 20:19
    #33855222
bms
bms
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SqlCommand, проблема с параметрами
Вот код:

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"

В чём глюк? Подскажите кто знает
...
Рейтинг: 0 / 0
14.07.2006, 21:32
    #33855297
spart
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SqlCommand, проблема с параметрами
попробуй обращение к параметру без "собачки":

setCommand.Parameters["name"].Value = "asd";
setCommand.Parameters["s_name"].Value = "asdf";
...
Рейтинг: 0 / 0
15.07.2006, 23:47
    #33855999
Max Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SqlCommand, проблема с параметрами
Вот код:

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-сервер, нельзя убирать. Теперь правильный ответ. Ты выполняешь запрос, а не хранимую процедуру. В запросах нельзя использовать параметры, их можно использовать только в хранимых процедурах. Исключение может быть в Аксесе, но в данном случае мы имеем дело не с Аксесом.
Есть многое на свете, друг Гораций, что непонятно нашим мудрецам.
...
Рейтинг: 0 / 0
16.07.2006, 01:35
    #33856023
BlackTigerAP
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SqlCommand, проблема с параметрами
Вот спецы собрались... Особенно "Max Pro".

1. "@" убирать НЕ НАДО. Это SQLServer.
2. параметры используются ВЕЗДЕ

Ну а теперь по существу. Ты параметры засовываешь с один SqlCommand ("setCommand"), а выполняешь ДРУГОЙ ("myComm"). Чего ты ожидаешь?

-
| Мой Brainbench | BookReader 1.1 | Wallpaper Cycler |
...
Рейтинг: 0 / 0
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / SqlCommand, проблема с параметрами / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]