Форум программистов, компьютерный форум, киберфорум
Delphi: Базы данных
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/11: Рейтинг темы: голосов - 11, средняя оценка - 4.73
3 / 3 / 1
Регистрация: 10.11.2014
Сообщений: 61
1

Как добавить запись в нужную строку DBGrid?

08.12.2014, 15:01. Показов 2091. Ответов 10
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Нужно чтобы,по указанному в DateTimePicker времени,он добавлял запись в нужную строку.Вот скрин:
Как добавить запись в нужную строку DBGrid?

Т.е. в пикере я указываю время,например 00:30, он ищет в поле"Время С" это время,и заносит данные в эту строку.Как это реализовать?Очень нужна ваша помощь)
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
08.12.2014, 15:01
Ответы с готовыми решениями:

Как реализовать поиск, который будет выделять нужную запись в DBGrid
Как реализовать поиск, который будет выделять нужную запись в DBGrid Я реализовал такой поиск...

Как listBox добавить текст в нужную строку
Как listBox добавить текст в нужную строку, например 5?

Как добавить данные в таблицу в нужную мне строку?
Добрый день форумчане! Создаю базу данных гостиницы и возникла проблемка. У меня есть несколько...

DBgrid закрасить нужную строку
Всем привет, не совладал я с DBgrid-ом, чет не идет. Подскажите кодом:help: К DBgrid подключена...

10
129 / 129 / 41
Регистрация: 17.10.2013
Сообщений: 335
08.12.2014, 16:09 2
Цитата Сообщение от Raina Посмотреть сообщение
Как это реализовать?
запросом UPDATE
SQL
1
UPDATE table1 SET col_name1 = expr1, col_name2 = expr2 ... WHERE ...
0
3 / 3 / 1
Регистрация: 10.11.2014
Сообщений: 61
08.12.2014, 17:56  [ТС] 3
у меня не через sql,через ADO

Добавлено через 1 час 30 минут
Ну неужели никто не поможет...
0
2 / 2 / 2
Регистрация: 04.11.2014
Сообщений: 33
10.12.2014, 02:56 4
Delphi
1
2
3
4
5
6
//Ищешь столбец, формат данных должен совпадать (используй: Timetostr , strtotime и т.д.)
Adotable.Locate('Как называется столбец со временем',DateTimePicker.text,[loCaseInsensitive]);
//Теперь курсор стоит на нужном поле, переходишь в режим редактирования
Adotable.edit;
Adotable.Fieldbyname('Как называется столбец с местом/событием').asstring := edit1.text;
Adotable.post;
0
3 / 3 / 1
Регистрация: 10.11.2014
Сообщений: 61
10.12.2014, 17:07  [ТС] 5
Цитата Сообщение от ToT888 Посмотреть сообщение
Delphi
1
2
3
4
5
6
//Ищешь столбец, формат данных должен совпадать (используй: Timetostr , strtotime и т.д.)
Adotable.Locate('Как называется столбец со временем',DateTimePicker.text,[loCaseInsensitive]);
//Теперь курсор стоит на нужном поле, переходишь в режим редактирования
Adotable.edit;
Adotable.Fieldbyname('Как называется столбец с местом/событием').asstring := edit1.text;
Adotable.post;
ToT888,все сделала как вы написали:
Delphi
1
2
3
4
5
form1.Adotable1.Locate('Время С',TimeToStr(DateTimePicker2.Time),[loCaseInsensitive]);
form1.Adotable1.edit;
form1.Adotable1.Fieldbyname('Событие').asstring := edit1.text;
form1.Adotable1.post;
end;
Ничего не работает.Программу запускает,но добавляет событие все равно в 1-ю строку,независимо от выставленного времени в пикере.. что делать?)
0
пофигист широкого профиля
4733 / 3167 / 859
Регистрация: 15.07.2013
Сообщений: 18,255
10.12.2014, 17:41 6
Цитата Сообщение от Raina Посмотреть сообщение
добавляет событие все равно в 1-ю строку,независимо от выставленного времени в пикере
Знать не находит TimeToStr(DateTimePicker2.Time) в столбце Время С
0
1074 / 987 / 340
Регистрация: 07.08.2012
Сообщений: 2,790
10.12.2014, 18:01 7
Какая СУБД?
Какой тип поля, в котором хранится время?

Если тип поля Дата,время, то метод Locate здесь не подходит - он ищет точное совпадение времени,
а большинство СУБД используют хранение даты и времени одновременно.
Пока нет ясности в каком виде время сидит в базе, можно посоветовать найти нужное время в цикле.
0
3 / 3 / 1
Регистрация: 10.11.2014
Сообщений: 61
10.12.2014, 18:59  [ТС] 8
Цитата Сообщение от Скандербег Посмотреть сообщение
Какая СУБД?
Какой тип поля, в котором хранится время?

Если тип поля Дата,время, то метод Locate здесь не подходит - он ищет точное совпадение времени,
а большинство СУБД используют хранение даты и времени одновременно.
Пока нет ясности в каком виде время сидит в базе, можно посоветовать найти нужное время в цикле.
Acсess,тип дата/время
0
1074 / 987 / 340
Регистрация: 07.08.2012
Сообщений: 2,790
10.12.2014, 19:47 9
Чтобы не было проблем, нужно время хранить в строковом представлении в виде символов.
Типа "0930" или "09:30". Потому как в Аксессе дата/время хранится с датой, которая в этом случае совсем не нужна.
С датой такой финт не пройдет, а время самое то.
Тогда может и Locate пройти и поиск в цикле нужного времени.
Если такой возможности нет, то придется циклом заняться, потому что из поля нужно будет вычленить дату и
получить чистое время.
0
3 / 3 / 1
Регистрация: 10.11.2014
Сообщений: 61
10.12.2014, 20:34  [ТС] 10
Цитата Сообщение от Скандербег Посмотреть сообщение
Чтобы не было проблем, нужно время хранить в строковом представлении в виде символов.
Типа "0930" или "09:30". Потому как в Аксессе дата/время хранится с датой, которая в этом случае совсем не нужна.
С датой такой финт не пройдет, а время самое то.
Тогда может и Locate пройти и поиск в цикле нужного времени.
Если такой возможности нет, то придется циклом заняться, потому что из поля нужно будет вычленить дату и
получить чистое время.
сделала тип в "текстовый" все равно не работает...записывает в 1-ю строку
0
1074 / 987 / 340
Регистрация: 07.08.2012
Сообщений: 2,790
10.12.2014, 21:27 11
Приведенный фрагмент поиска строки с нужным временем работает правильно при условиях:
- время записывается в текстовом виде в формате чч:мм;
- время в пикере указывается в точности то, которое есть в таблице;
Delphi
1
2
3
4
5
6
7
procedure TForm1.Button1Click(Sender: TObject);
var
  sTm : string;
begin
  sTm := FormatDateTime('hh:mm', DateTimePicker1.Time);
  ADOTable1.Locate('Время С', sTm, []);
end;
0
10.12.2014, 21:27
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.12.2014, 21:27
Помогаю со студенческими работами здесь

Как добавить запись в dbgrid
Здравствуйте срочно нужна помощь делаю курсовую, не могу в dbgrid добавить запись. Хотел сделать...

Как в dbgrid добавить строку?
Здравствуйте. Подскажите как сделать так, чтобы при нажатии на кнопку, в dbgrid создавалась новая...

Как добавить новую строку в DBGrid?
как добавить новую строку в DBGrit? Добавлено через 3 минуты я пробовал так, не получается if...

Как добавить строку из DBGrid в MS Word?
Суть проблемы такая: при выборе строки в DBGrid надо отправить её в MS Word, да так чтобы эта...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru