Модераторы: gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Update Query 
:(
    Опции темы
Freak_FB
  Дата 24.10.2008, 16:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ктулхувед
**


Профиль
Группа: Участник
Сообщений: 296
Регистрация: 13.10.2006

Репутация: нет
Всего: 4



Создаю элементарную Windows-программу. Добавляю источник данных - таблицу из базы Access.

Поля такие:
MomentInATime - ДатаВремя
Mass - DOUBLE
Plotn - DOUBLE
Vol - DOUBLE
Processed - Логический, по умолчанию FALSE

Кинул на форму DataGridView с этой моей таблицей. Повесил таймер на добавление рандомных данных каждые полторы секунды.
Повесил кнопочку Refresh() - наблюдать как они добавляются, эти данные.
Теперь хочу реализовать процедуру, которая пометит мне те записи, которые в данный момент отображены в DataGridView. Пометить - значит установить значение поля Processed в TRUE.
Имеется в виду не просто поставить галочки в DataGridView, а напрямую, в таблице.

Вот тут то и начинается вопрос. Если у моего DataAdapter'а есть метод Fill(), которому я указываю, какую таблицу в памяти заполнить, то метод UpdateQuery(), который генерируется средой, воздействует прямиком на записи в базе, даже на те, которые появились после того, как я последний раз делал Refresh(), то есть на все, находящиеся в данный момент в базе.

Как можно применить метод UpdateQuery() конкретно к выбранным записям? Не придётся ли добавлять в UpdateQuery() параметр типа время, чтобы указать, по какое время в каждой записи необходимо установить Processed в TRUE.

Вот код формы на всякий случай:
Код

public Form1()
private void logBindingNavigatorSaveItem_Click(object sender, EventArgs e)
{
    this.Validate();
    this.logBindingSource.EndEdit();
    this.logTableAdapter.Update(this.dataSet1.Log);
}

private void Form1_Load(object sender, EventArgs e)
{
    // TODO: This line of code loads data into the 'dataSet1.Log' table. You can move, or remove it, as needed.
    this.logTableAdapter.Fill(this.dataSet1.Log);
}

private void toolStripButton1_Click(object sender, EventArgs e) // кнопка Refresh()
{
    this.logTableAdapter.Fill(this.dataSet1.Log);

    this.logTableAdapter.UpdateQuery();
    logDataGridView.Refresh();
}

private void timer1_Tick(object sender, EventArgs e) // таймер, который пишет в базу
{
    Random r = new Random((int)DateTime.Now.ToFileTime());
    logTableAdapter.Insert(DateTime.Now, r.Next(100), r.Next(100), r.Next(100), false);
}

private void toolStripButton2_Click(object sender, EventArgs e) // !!! тут я хочу вызвать обновление выбранного, но не всего
{
    logTableAdapter.UpdateQuery();
}


Код UpdateQuery():
Код

UPDATE Log
SET Processed = 1



--------------------
user posted image
user posted image
Тонет Ктулху, все медведы горят в огне.
Я Креведко, очень страшно сегодня мне.

PM MAIL ICQ Skype GTalk Jabber   Вверх
Nestap
Дата 25.10.2008, 16:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 221
Регистрация: 10.10.2008

Репутация: 1
Всего: 0



Freak_FB, 
по сколько я понел сделал соеденение с БД при помашю ВИЗАРД!

делай в ручную и моимеош....

и зделаеш упдате,инсерт..... с помашю команд sql
--------------------
<?    echo "Nestap";?>
PM WWW ICQ Skype Jabber   Вверх
Freak_FB
Дата 25.10.2008, 17:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ктулхувед
**


Профиль
Группа: Участник
Сообщений: 296
Регистрация: 13.10.2006

Репутация: нет
Всего: 4



Nestap, х его з го ты написал, по большей части. Транслитом писал?
По сути: всегда юзаю визард, ибо мне так удобней. К тому же - времени вникать в тонкости программирования с базами данных до сих пор не могу выкроить.
Буду признателен, если покажешь, как выполнить запрос SQL на имеющихся в DataSet данных.


--------------------
user posted image
user posted image
Тонет Ктулху, все медведы горят в огне.
Я Креведко, очень страшно сегодня мне.

PM MAIL ICQ Skype GTalk Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
stab
mr.DUDA
Exception

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, stab, mr.DUDA, Exception.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Базы данных под .NET | Следующая тема »


 




[ Время генерации скрипта: 0.0399 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.