Форум программистов, компьютерный форум, киберфорум
Наши страницы
C#: Базы данных, ADO.NET
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.70/20: Рейтинг темы: голосов - 20, средняя оценка - 4.70
asd321
Мохаммед Али
129 / 67 / 5
Регистрация: 14.08.2009
Сообщений: 916
1

SQL запросы в WinForms

04.05.2011, 15:01. Просмотров 3789. Ответов 8
Метки нет (Все метки)

помогите с синтаксисом не пойму почему эта строка не прокатывает
C#
1
2
      sqlcommand.CommandText = "INSERT INTO web_address values("+id +"," + address + "," + shablon + ")";
                     sqlcommand.ExecuteNonQuery();
как я понимаю так строку нельзя формировать как правильно это сделать, а то выскакивает ошибка типа неправильный синтаксис
"Incorrect syntax near the keyword 'file'.
The label 'C' has already been declared. Label names must be unique within a query batch or stored procedure."
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.05.2011, 15:01
Ответы с готовыми решениями:

SQL запросы, чем плоха конкатенация SQL запроса?
Опишу ситуацию, есть БД с несколькими таблицами, с которыми нужно совершать...

WinForms, не происходит добавление записей в БД MS SQL
Добрый день! Столкнулся с проблемой взаимодействия WinForms с БД. Чтение из...

Вывод элементов SQL с кнопки в WinForms
Всем привет! :) Нужна помощь.. Имеется база данных SQL, 3-и таблицы:...

Импорт данных из Excel в MS SQL через приложение WinForms
Всем привет. В приложение С# WinForms нужно добавить возможность импорта...

SQL запросы
Помогите составить правильные скл запросы Запрос первый: На поиск даты: тип...

8
Winsor
330 / 266 / 18
Регистрация: 19.01.2011
Сообщений: 597
04.05.2011, 15:04 2
Пользуйтесь параметризированными запросами. В ветке ADO.NET примеров было много.
0
r0fL
Кодило
237 / 164 / 23
Регистрация: 25.11.2009
Сообщений: 685
04.05.2011, 15:49 3
C#
1
2
      sqlcommand.CommandText = "INSERT INTO web_address (`название_поля1`, `название_поля2`, `название_поля3`) VALUES (" + id + ", '" + address + "', '" + shablon + "')";
                     sqlcommand.ExecuteNonQuery();
Учитесь ставить пробелы, чтобы читабелен был запрос, так же, текстовые значения заключаются в одинарные кавычки ''.
0
asd321
Мохаммед Али
129 / 67 / 5
Регистрация: 14.08.2009
Сообщений: 916
04.05.2011, 15:56  [ТС] 4
Цитата Сообщение от r0fL Посмотреть сообщение
C#
1
2
      sqlcommand.CommandText = "INSERT INTO web_address (`название_поля1`, `название_поля2`, `название_поля3`) VALUES (" + id + ", '" + address + "', '" + shablon + "')";
                     sqlcommand.ExecuteNonQuery();
Учитесь ставить пробелы, чтобы читабелен был запрос, так же, текстовые значения заключаются в одинарные кавычки ''.
а id не считается значением?
+ выскакивает ошибка
String or binary data would be truncated.
The statement has been terminated.
0
r0fL
Кодило
237 / 164 / 23
Регистрация: 25.11.2009
Сообщений: 685
04.05.2011, 17:27 5
asd321, id - не текстовое значение, а числовое, по-крайней мере в моих таблицах так.
0
asd321
Мохаммед Али
129 / 67 / 5
Регистрация: 14.08.2009
Сообщений: 916
04.05.2011, 18:22  [ТС] 6
у вас оно в одинарных кавычках не содержиться, значит числовые значения в одинарные кавычки не заносяться только строковые?
0
r0fL
Кодило
237 / 164 / 23
Регистрация: 25.11.2009
Сообщений: 685
04.05.2011, 18:58 7
asd321, да
0
Weks91
56 / 56 / 17
Регистрация: 15.06.2009
Сообщений: 170
04.05.2011, 19:47 8
используйте параметризированные запросы, иначе будут проблемы с безопасностью.
C#
1
2
3
4
5
sqlcommand.CommandText = "INSERT INTO web_address values(@id,@address,@shablon)";
sqlcommand.Parameters.AddWithValue("@id","что передаем");
sqlcommand.Parameters.AddWithValue("@address","что передаем");
sqlcommand.Parameters.AddWithValue("@shablon","что передаем");
sqlcommand.ExecuteNonQuery();
0
asd321
Мохаммед Али
129 / 67 / 5
Регистрация: 14.08.2009
Сообщений: 916
05.05.2011, 15:19  [ТС] 9
ага , оказываеся я просто при формировании таблицы не text типа задавал а varchar из за этого ничего в длину 1 не умещалось, теперь исправил.

Добавлено через 3 часа 26 минут
у меня вот теперь другая ошибка мучался мучался не понял почему, суть в том что я хочу считать данные с определенными условиями
C#
1
2
3
4
5
  string sql_res_read = "SELECT table_id,address FROM web_address WHERE (table_id=@table_id and address=@address);";
                sqlcommand = new SqlCommand(sql_res_read,myConnection);
                sqlcommand.Parameters.AddWithValue("@address",currentaddr);
                sqlcommand.Parameters.AddWithValue("@table_id",importingtable);
                SqlDataReader sqldtreader=sqlcommand.ExecuteReader();
и когда проходит ExecuteReader? почему то пишет невозможно сравнить типы text и nvarchar хотя у меня в таблице только тип text при ее формировании

Добавлено через 30 минут
а вот нашел оказывается строки сравниваются не знаком равно а функцией strcmp(1value,2value) либо
1value LIKE 2value но лайк сравнивает не только на идентичность но еще и на вхождения и плюс регистры но это уже другая история
1
05.05.2011, 15:19
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.05.2011, 15:19

Sql запросы
У меня есть таблица техники "Техника" (id, name, price , diller, description) и...

SQL запросы
Нужен совет.Пишу курсовую в которой будет БД. Стоит ли подробно изучать язык...

SQL-запросы
Подскажите, когда в проекте есть datagridview, в котором отображается...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru