![]() |
|
Модераторы: gambit |
![]()
|
|
| shark1 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 274 Регистрация: 10.11.2007 Репутация: нет Всего: нет |
вернее он срабатывает все нормально вижу добавленную строку в datagridview или наоборот после удаления какого нибудь item вижу изменения в datagridview,но при этом бандинг замирает на первой строке и все ! и ни хочет сдвигатся,все забандинные текст боксы показывают значения первого itemа,и не важно если я с помощью поиска хочу найти какойтоitem он его находит но бандинг остаётся на первом в datagridview.Подскажите в чем дело.Зарание спасибо.
Update:
|
|||
|
||||
| informatik |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 207 Регистрация: 4.11.2007 Репутация: 1 Всего: 6 |
Update датагрида здесь вообще ни к чему..
И вообще весь синтаксис непраивльный!!!! Я так понимая по нажатию кнопки Update ты хочешь передать изменения в БД?? Но ты посмотри что у тебя написано: Ты сначала по по запросу берешь нужную таблицу, потом тут же пытаешься обновить..., но на самом деле то ты эту таблицу только что создал... и никаких изменений в ней нет!!! --------------------
namespace informatik |
|||
|
||||
| shark1 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 274 Регистрация: 10.11.2007 Репутация: нет Всего: нет |
Да извеняюсь код дествительно "G",убрал все лишнее,но все равно бандинг замирает на строке на кот. стоит курсор в тот момент когда я нажимаю btn_Update.И все во всех текст боксах остаются значения старые и они не обновляются :( Подскажите плиззз,как подправить.Спасибо.
|
|||
|
||||
| informatik |
|
||||||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 207 Регистрация: 4.11.2007 Репутация: 1 Всего: 6 |
shark1 ты меня похоже непонял... твой Update вообще неправильный. Загрузка двнных из БД и обновление - две совершенно разные вещи и должны выполняться отдельно.
DataAdapter создается как глобальная переменная:
Далее нужно загрузить данные в отдельной процедуре, напрмер при загрузке приложения:
................ делаем какие либо изменения в DataGrid ................ Двлее передаем обновления, но для этого должна быть определена логика обновления в DataAdapter:
Добавлено через 8 минут и 59 секунд Вот тебе еще ссылочка на тему. Туда глянь. ЗАГЛЯНИ! Да и вообще поищи в поиске по форуму, много примеров найдешь.. --------------------
namespace informatik |
||||||
|
|||||||
| shark1 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 274 Регистрация: 10.11.2007 Репутация: нет Всего: нет |
informatik я тебя понял и ты прав насчет того что мне не нужно делать(пока)изменения в самом datagridview.У меня есть button Insert,и Delete кот.делают своё дело.Одна вставляет данные другая удаляет(из ДБ),а вот Update должна только показать эти изменения в datagridview(т.е если я что то добавил показать добавленную строку,если удалил что то то обновить datagridview и показать уже без удаленной строки).Но вот что то не срабатывает,вчера перерыл весь форум но так и не нашол ответ :(,восновном все примеры используют запрос Select ... where ..., а мне это не нужно мне нужно только показать обновления.Вот этот код не работает :
adapter1.Update(ds, "Users"); ds.AcceptChanges(); на этой строке :adapter1.Update(ds, "Users"); выпадает :Update unable to find TableMapping['Users'] or DataTable 'Users'. Подскажи что сделать плиззз,зарание спасибо. |
|||
|
||||
| thomas |
|
|||
![]() Доцент... почти ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1385 Регистрация: 3.10.2006 Где: " Сказочное королевство" Репутация: 35 Всего: 65 |
shark1,
Приветствую. Приведи код полность. -------------------- Крепко жму горло, искренне ваш Thomas. (С)vingrad Некоторые сорта флоры буквально за одно мгновение превращают нас в фауну! Проблемы негров шерифа не волнуют. |
|||
|
||||
| shark1 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 274 Регистрация: 10.11.2007 Репутация: нет Всего: нет |
Так нет не какого кода вот этот недоделанный кусок и есть весь(многострадальный :( :( )код.
adapter1.Update(dataTable); DataSet ds = new DataSet(); adapter1.Update(ds, "Users"); ds.AcceptChanges(); dataGridView1.DataSource = ds.Tables["Users"]; |
|||
|
||||
| informatik |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 207 Регистрация: 4.11.2007 Репутация: 1 Всего: 6 |
shark1, А по кнопкам Insert, Delete я так понял у тебя изменения идут прямо в базу.. не попадая в DataSet???
Метод Update у DataAdapter вносит изменения в БД и поэтому для твоих целей он вообще ненужен.. Если так то в обработчике кнопки Update нужно оставить так:
А вообще как видно проблема может быть не в этом, а в неправильном обявлении и использовании переменных (DataSet и DataAdapter), ты бы действительно выложил весь код, тогда бы быстро нашли твою ошибку... Это сообщение отредактировал(а) informatik - 22.1.2008, 14:22 --------------------
namespace informatik |
|||
|
||||
| shark1 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 274 Регистрация: 10.11.2007 Репутация: нет Всего: нет |
Большое спасибо за вашу помощь.Вот код(если его так можно назвать :( ?)
последний пример вот на этой строке : adapter1.Fill(dataSet11, "Users"); выпадает на : No value given for one or more required parameters. |
|||
|
||||
| thomas |
|
||||||||||||
![]() Доцент... почти ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1385 Регистрация: 3.10.2006 Где: " Сказочное королевство" Репутация: 35 Всего: 65 |
shark1,
Приветствую. При беглом взгляде на приведенный выше код, увидел следующие ошибки: 1) если уже есть одно соединение и один ДатаАдаптер
то зачем потом создавать их снова?
Обьявите глобально соединение и ДатаАдаптер. При загрузке формы создайте обьект соединения и в дальнейшем по мере необходимости его открывайте и закрывайте. ДатаАдаптер инициируем при загрузке формы. И раз у вас одна таблица так и пользуйте один ДатаАдаптер по мере необходимости. 2) Вот это
3)
Вы обьявили и создали adapter1 в другом методе. Этот обьект не видим за пределами своего метода. А вызываете его совсем в другом методе. Ай-ай-ай, как не хорошо. Кстати я так и не понял смысла вот этих действий
-------------------- Крепко жму горло, искренне ваш Thomas. (С)vingrad Некоторые сорта флоры буквально за одно мгновение превращают нас в фауну! Проблемы негров шерифа не волнуют. |
||||||||||||
|
|||||||||||||
| shark1 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 274 Регистрация: 10.11.2007 Репутация: нет Всего: нет |
thomas УРА лёд тронулся не знаю что я тут наколдовал,НО если я делаю Insert а потом Update то все работает как в сказке,даже гад бандинг тоже работает,а вот если я делаю Delete и потом делаю Update то в(почемуто)вылетает на этой строке :
adapter.Fill(ds, "Users"); пишет : The SelectCommand property has not been initialized before calling 'Fill'. Подскажи те плиззз,ОГРОМНОЕ спасибо. Kod Update:
|
|||
|
||||
| informatik |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 207 Регистрация: 4.11.2007 Репутация: 1 Всего: 6 |
А я вот непонимаю зачем открывать соединение...
Метод Fill() у датаАдаптера сам открывает и закрывает соединение... или я ошибаюсь......... Это сообщение отредактировал(а) informatik - 22.1.2008, 17:13 --------------------
namespace informatik |
|||
|
||||
| thomas |
|
|||
![]() Доцент... почти ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1385 Регистрация: 3.10.2006 Где: " Сказочное королевство" Репутация: 35 Всего: 65 |
shark1,
Приветствую. Сделай так.
-------------------- Крепко жму горло, искренне ваш Thomas. (С)vingrad Некоторые сорта флоры буквально за одно мгновение превращают нас в фауну! Проблемы негров шерифа не волнуют. |
|||
|
||||
| shark1 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 274 Регистрация: 10.11.2007 Репутация: нет Всего: нет |
ВСЕМ ВСЕМ ВСЕМ моим учителям и помошникам,ОГРОМНОЕ СПАСИБО за ваши нервы,за ваше время и вашу помощь,вот он многостродальный код для btn_Update:
все работает как надо,и после Insert и после Delit.Спасибо. |
|||
|
||||
| informatik |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 207 Регистрация: 4.11.2007 Репутация: 1 Всего: 6 |
Просто супер!! Но много лишнего... у меня такой код состоит максимум из 3-х строк!!
Это сообщение отредактировал(а) informatik - 23.1.2008, 19:33 --------------------
namespace informatik |
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [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. |