![]() |
|
Модераторы: gambit |
![]()
|
|
| Vitkaz |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 90 Регистрация: 29.11.2006 Репутация: нет Всего: нет |
Привет всем! Недавно начал изучать C#. Сейчас создаю базу данных, для чего проделал следующее: создал таблицы и связи между ними в SQL Server 2005, в Visual Studio 2008 установил соединение с сервером, создал форму, которая содержит Grid, textbox`ы и кнопку "Добавить клиента". Как добавить новую запись в таблицу я не знаю ? Помогите пожалуйста написать содержимое события button1_Click.
|
|||
|
||||
| Rififi |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1254 Регистрация: 9.3.2008 Репутация: нет Всего: 36 |
Vitkaz,
есть несколько способов в самом простом случае - создать объект Command и выполнить sql-запрос INSERT INTO скачай/купи любую книгу с названием ADO.NET 2.0, например Professional ADO.NET 2, Pro ADO.NET 2.0 ..., или от папиков - Programming Microsoft® ADO.NET 2.0, причём многие из них имеются в переводном виде. там всё это описано |
|||
|
||||
| kuller |
|
||||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 310 Регистрация: 15.11.2007 Репутация: нет Всего: нет |
Ну вот тебе пример добавления ЗАПИСИ в таблицу Список_блюд в БД kafe.mdb: (тут добавляемые данные вводятся в ТЕКСТБОКСЫ и также значения берутся с КОМБОБОКСОВ, по нажатию на кнопку происходит добавление данных)
P.S. using System.Data.OleDb Это сообщение отредактировал(а) kuller - 2.4.2009, 09:31 |
||||||
|
|||||||
| Vitkaz |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 90 Регистрация: 29.11.2006 Репутация: нет Всего: нет |
Изменил код, который дал kuller. Пробую пока ввести только ИНН.
При добавлениии ругается на строку con.Close(). Пишет следующее сообщение: System.Data.OleDb.OleDbException не обработано Message="Невозможно использовать ''; файл уже используется." |
|||
|
||||
| kuller |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 310 Регистрация: 15.11.2007 Репутация: нет Всего: нет |
Vitkaz, попробуйте заносить значения ни в 1 поле таблицы clients(InnCl), а во все и будьте внимательны с ТИПАМИ, из-за неправильного типа заносимых данных чаще всего и бывают ошибки!!!!
|
|||
|
||||
| Vitkaz |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 90 Регистрация: 29.11.2006 Репутация: нет Всего: нет |
Чтобы с преобразованиями типов не напутать, я создал таблицу всего с одним полем и попробовал добавить запись, но возникает та же ошибка.
|
|||
|
||||
| kuller |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 310 Регистрация: 15.11.2007 Репутация: нет Всего: нет |
Vitkaz, Ваше поле в которое Вы в данный момент пытаетесь добавить значение КАКОГО ТИПА???? |
|||
|
||||
| Vitkaz |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 90 Регистрация: 29.11.2006 Репутация: нет Всего: нет |
Тип nchar(10). У меня были проблемы с соединением, но теперь соединение устанавливается, но записи добавить не получается.
Решил добавить запись, используя SqlCommand, но не знаю, что писать после SqlCommand command = new SqlCommand(queryString, con);
Это сообщение отредактировал(а) Vitkaz - 2.4.2009, 21:42 |
|||
|
||||
| kuller |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 310 Регистрация: 15.11.2007 Репутация: нет Всего: нет |
Vitkaz, если Вы вставляете ТЕКСТ, то дорлно быть так записано в SQL-запросе:
'" + textBox1.Text + "', т.е. кавычки ОДИНАРНЫЕ затем ДВОЙНЫЕ . |
|||
|
||||
| Vitkaz |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 90 Регистрация: 29.11.2006 Репутация: нет Всего: нет |
Пробовал не помогает. |
|||
|
||||
| KelTron |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 745 Регистрация: 8.10.2006 Где: Красноярск Репутация: 5 Всего: 38 |
Но лучше использовать параметизированные запросы:
-------------------- Тысячами незримых нитей обвивает тебя Закон. Разрубишь одну - преступник. Десять - смертник. Все - Бог. Эвенгар Салладорский, основатель Школы Тьмы. |
||||
|
|||||
| Vitkaz |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 90 Регистрация: 29.11.2006 Репутация: нет Всего: нет |
KelTron, спасибо за рекомендацию. После учебы попробую.
Это сообщение отредактировал(а) Vitkaz - 3.4.2009, 07:13 |
|||
|
||||
| Vitkaz |
|
||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 90 Регистрация: 29.11.2006 Репутация: нет Всего: нет |
Если пишу так,
то ругается на строчку command.ExecuteNonQuery(); "Неправильный синтаксис около ключевого слова "Table"." Ещё пробовал описать CreateCommand(string queryString,string connectionString) в класее Program в Program.cs, не знаю как обратиться к CreateCommand с формы.
Это сообщение отредактировал(а) Vitkaz - 3.4.2009, 15:32 |
||||
|
|||||
| Idsa |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2086 Регистрация: 5.12.2006 Где: Томск Репутация: 15 Всего: 62 |
А у Вас точно есть таблицы Table? И если она даже есть, лучше взять ее в квадратные скобки:
, ибо Table - это зарезервированное слово. |
|||
|
||||
| Vitkaz |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 90 Регистрация: 29.11.2006 Репутация: нет Всего: нет |
Спасибо, Idsa! Причина была в этом.
|
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, stab, mr.DUDA, Exception. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Базы данных под .NET | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |