![]() |
Модераторы: gambit |
![]() ![]() ![]() |
|
stashe |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 153 Регистрация: 5.1.2007 Где: Донецк Репутация: нет Всего: 1 |
не матюкайтесь, решения по форуму не нашел, ситуация следующая
Использую DataSet, BindingSource и TableAdapter (база Access), не использую никаких комманд, ДатаАдаптеров и т.д. все делал только дизайнером. После изменения таблицы (добавления Row) вызываю запись в БД, ничего не происходит, не матюкается, но и не пишет.. private void WriteToDataBase() { requestsTableAdapter.Update(cennye_bumagiDataSet); cennye_bumagiDataSet.AcceptChanges(); cennye_bumagiDataSet.Tables["Requests"].AcceptChanges(); } ?????? |
|||
|
||||
stashe |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 153 Регистрация: 5.1.2007 Где: Донецк Репутация: нет Всего: 1 |
к примеру удаление
cennye_bumagiDataSet.Tables["Trades"].Rows.RemoveAt(dataGridView1.CurrentRow.Index); или добавление ряда
|
|||
|
||||
informatik |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 207 Регистрация: 4.11.2007 Репутация: 1 Всего: 6 |
С базой Access при работе через мастер есть проблемка...
Примерно выглядит это так: Кагда создается подключение мастер запрашивает копировать файл БД или нет. Если сказать да то файл копируется в папку проекта и строка подключения имеет путь именно к этому файлу и..... если запускать Debug то данный файл БД копируется в папку проги, но работа то идет именно с тем файлом который находится в паке проекта т.к. строка поключения имеет именно такой путь.. Если физически запустить экзешник, т.е. добраться до папки Debug или Release то попробовав поработать все будет нормально, но при перекомпиляции файл БД заменится файлом БД который лежит в папке проекта, а он пустой... что то типа того.... --------------------
namespace informatik |
|||
|
||||
stashe |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 153 Регистрация: 5.1.2007 Где: Донецк Репутация: нет Всего: 1 |
Не, не оно, пробовал. К тому же я даже не перезапуская программу вижу что изменения не сохраняются, закрывая и открывая заново только таблицу а не программу.
|
|||
|
||||
stashe |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 153 Регистрация: 5.1.2007 Где: Донецк Репутация: нет Всего: 1 |
Up!
|
|||
|
||||
stashe |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 153 Регистрация: 5.1.2007 Где: Донецк Репутация: нет Всего: 1 |
Неужто никто не сталкивался??
![]() |
|||
|
||||
Magnifico |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 418 Регистрация: 23.1.2008 Где: Московская област ь Репутация: 2 Всего: 17 |
вероятно для адаптера InsertCommand DeleteCommand не сгенерирован или сгенерирован неправильно
попрбуй так
-------------------- Всё в порядке - спасибо зарядке ! |
|||
|
||||
stashe |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 153 Регистрация: 5.1.2007 Где: Донецк Репутация: нет Всего: 1 |
Magnifico, спасибо большое, позже попробую,....люди, даже если кто-то не знает, высказывайте предположения, буду пробовать все варианты, т.к. и понятия не имею в чем может быть проблема, с БД не работал никогда в жизни
Спсибо за участие! ![]() |
|||
|
||||
-Mikle- |
|
||||
![]() Невидимка Vingrad'а ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 1672 Регистрация: 22.6.2003 Где: Казахстан, Астана Репутация: 1 Всего: 59 |
по добавлению:
по удалению:
А еще имей ввиду, что для каждой таблицы находящейся в DataSet нужно использовать родной TableAdapter. Когда ты передаешь DataSet в TableAdapter.Update, то записывается не весь DataSet, а только та таблица из DataSet, о которой знает конкретный TableAdapter. Другими словами, если в датасете лежит три таблицы, то нужно вызвать три метода Update у соответствующих TableAdapter. Пробуй, если что пиши. -------------------- Если тебе плюют в спину, значит ты впереди... |
||||
|
|||||
mindyourmind |
|
|||
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 1.6.2008 Где: Киев Репутация: нет Всего: нет |
Аналогичная проблема! Пытаюсь сделать просто через ExecuteNonQuery, база сама не в папке проекта... Селект делается, инсерт - нет
![]() 1 из вариантов кода (кажется, подобное предлагали): string connectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\\FashionShop.mdb"; OleDbConnection conn = new OleDbConnection(connectionString); conn.Open(); using (OleDbTransaction trans = conn.BeginTransaction()) { try { string sql1 = "INSERT INTO Чек (Номер_дисконту) Values (4);"; OleDbCommand command1 = new OleDbCommand(sql1, conn, trans); command1.ExecuteNonQuery(); string sql2 = "INSERT INTO Чек (Номер_дисконту) Values (5);"; OleDbCommand command2 = new OleDbCommand(sql2, conn, trans); command2.ExecuteNonQuery(); trans.Commit(); } catch (OleDbException e1) { trans.Rollback(); } } conn.Close(); |
|||
|
||||
stashe |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 153 Регистрация: 5.1.2007 Где: Донецк Репутация: нет Всего: 1 |
-Mikle- , по поводу добавления помогло, работает )))))))))) по удалению эксепшн на нулл, разберусь.
можешь объяснить почему так? писал с букваря и довольно авторитетного (C# для професионалов 2005). Спасибо за помощь! Добавлено @ 19:40 Добавление работает, а вот изменение нет(т.е. не добавляю новую, а изменяю текущую)..... "Update requires a valid UpdateCommand when passed DataRow collection with modified rows." Добавлено @ 19:41
Это сообщение отредактировал(а) stashe - 6.6.2008, 20:06 |
|||
|
||||
stashe |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 153 Регистрация: 5.1.2007 Где: Донецк Репутация: нет Всего: 1 |
При удалении
Update requires a valid DeleteCommand when passed DataRow collection with deleted rows. если без второй сторки то изменения не записываются Добавлено через 8 минут и 24 секунды Magnifico, в твоем примере неверные аргументы в первой строчке Error 14 The best overloaded method match for 'System.Data.OleDb.OleDbCommandBuilder.OleDbCommandBuilder(System.Data.OleDb.OleDbDataAdapter)' has some invalid arguments у меня TableAdapter Это сообщение отредактировал(а) stashe - 6.6.2008, 19:59 |
|||
|
||||
stashe |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 153 Регистрация: 5.1.2007 Где: Донецк Репутация: нет Всего: 1 |
Решил вроде, теперь проблема в редактировании существующей строки...
т.е. если r = cennye_bumagiDataSet.Tables["Requests"].NewRow(); то Update работает, если r = cennye_bumagiDataSet.Tables["Requests"].Rows[dataGridView2.CurrentRow.Index] матюгаетяся на Command text was not set for the command object. Это сообщение отредактировал(а) stashe - 8.6.2008, 13:01 |
|||
|
||||
![]() ![]() ![]() |
Прежде чем создать тему, посмотрите сюда: | |
|
Используйте теги [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. |