![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 14.03.2012
Сообщений: 24
|
![]()
Добрый день, уважаемые форумчане. Въелась мне в голову идея написать простой GUI для внесения данных в базу MySQL ( 1 таблица, с 10 колонками), и простенького отчёта и фильтрации.
*Опыта программирования - 2 дня (не студент). А написать нужно вот-вот... Попробовав свои силы на данном поприще смог выводить данные из SQL Таблицы, посредством ADOCOnnection+ADOQuery+DataSource+A DOTable +GRID. Сделал (интересно же ) внесение в базу данных посредством вбивания необходимых значений в "Edit" и последующим нажиманием кнопки. procedure TForm1.Button1Click(Sender: TObject); begin ADOQuery1.Insert; ADOQuery1.FieldByName('client').AsS tring:=Edit1.Text; ADOQuery1.FieldByName('Fiz.Kontakt' ).AsString:=Edit2.Text; end; Так вот. Почитал я на Вашем форуме несколько десятков тем, в которых утверждалось, что использование GRID - с MySQL -несколько "некультурно". Прочитав, решил, что попробую с помощью элементов ADOCOnnection+ADOQuery+DataSource сделать простенький запрос на считывание всей таблицы. Добавил к элементу ADOQuery в графу SQL SELECT * FROM `bd`.`client_info` и теперь несколько не понимаю, куда его выводить(и главное как), если GRID лучше не использовать? Что хотел вообще: Программа представляла бы интерфейс вида: 10 заголовков, под ними открывается 10 пустых(новых) ячеек из таблицы Client_info.В них записываются необходимые данные, по нажатию кнопки "добавить". Я получаю сообщение -что данные успешно добавлены.. всё. собственно... Если у кого то есть немножко времени объяснить -буду рад любым комментариям. |
![]() |
![]() |
![]() |
#2 |
!=
Участник клуба
Регистрация: 08.09.2008
Сообщений: 1,751
|
![]()
Грид для вывода информации использовать не только можно, но и удобно))
А вот для добавления новых данных и редактирования, часто его возможностей бывает маловато. Спокойно используйте DBGrid, для отображения данных, а для добавления и редактирования создайте отдельную форму. |
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 14.03.2012
Сообщений: 24
|
![]() Вот тут бы немножко подробнее... Форму на основе Editов создавать правильно? или есть более удобные методы? Мне представлялось, что будет 10 заголовков, а под ними открывается 10 пустых(новых) ячеек из таблицы Client_info, в них вносятся все необходимые данные, жмётся кнопка "Добавить" . Вот как это реализовать не понимаю. И может подскажете, на основе чего, я могу получить сообщение , что данные успешно добавлены и сохранены в MySQL ? или же НЕ добавлены, и НЕ сохранены? Последний раз редактировалось Phantosmagor; 15.03.2012 в 16:05. |
![]() |
![]() |
![]() |
#4 | |
!=
Участник клуба
Регистрация: 08.09.2008
Сообщений: 1,751
|
![]() Цитата:
Добавляете данные запросом, если нет ошибки, то в большинстве случаев всё в порядке. Если хочется реакции, то можете завернутьвыполнение запроса на добавление в блок try except и выводить сообщение вроде такого Код:
|
|
![]() |
![]() |
![]() |
#5 |
Пользователь
Регистрация: 14.03.2012
Сообщений: 24
|
![]()
Ещё раз -день добрый. Возобновил после небольшого перерыва ваяние данной програмки. Есть несколько вопросов, на которые я ответ так или иначе не нашёл...
1)Как корректно переносить запросы, чтобы небыло unterminated string? Не писать же как дикий человек всё в одну строку... 2)Хочу хранить в БД MySQL кириллические символы в полях,и по запросу из своей программы соответственно получить на экране именно кириллические символы. Не меняя ничего в настройках базы это реально сделать? или же необходимо в настройках ODBC ставить cp1251? 3) Глупый пожалуй вопрос, но, что лучше использовать для внесения больших объёмов текста ( т.е не 1-2 слова, а предложение)? Я использую Edit, что то умнее не приходит в голову... Вот мой маленький код,для внесения данных в базу , это к п.1... Код:
Последний раз редактировалось Phantosmagor; 19.03.2012 в 09:45. |
![]() |
![]() |
![]() |
#6 |
Форумчанин
Регистрация: 25.07.2009
Сообщений: 533
|
![]()
По пункту 1. Смотрите что такое параметризированые запросы(запрос с параметром)
2. Можно посылать при подключении к БД запрос Код:
Маразм крепчал. Еноты пели...
R-style Dataknowlege Access Member Account (RDAMA) |
![]() |
![]() |
![]() |
#7 |
Пользователь
Регистрация: 14.03.2012
Сообщений: 24
|
![]()
Добрый день, надеюсь в последний раз, уважаемые форумчане. Всё сделал, кроме одного. в БД MySQL есть колонка "Date" , у него формат- DATE.
DateTimePicker , по дефолту выдаёт дату в формате dd-mm-yyyy , а чтобы превратить его в перевариваемую SQL дату (YYY-MM-DD) пол дня копал форумы, в результате пытался хоть одним из способов сделать - не получается. Программа упорно записывает в поле "Date" число в формате dd-mm-yyyy. Код - ниже Код:
P.S Всё это делается для того, чтобы потом корректно делать выборку по дате. т.к можно тупо присвоить колонке "Date" формат Char... и загонять как текст, но потом вот сортировка и поиск по дате-будет геморрой. |
![]() |
![]() |
![]() |
#8 |
Форумчанин
Регистрация: 08.09.2010
Сообщений: 880
|
![]()
Зачем над компонентом издеваться ?
![]() Есть функция Format. Наконец, функция FormatDateTime. Код:
|
![]() |
![]() |
![]() |
#9 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]() Цитата:
Если не хотите проблем с датой - не вставляйте дату в текст запроса, НЕ ВСТАВЛЯЙТЕ! Используйте ПАРАМЕТРЫ (параметрический запрос). например, Код:
p.s. да и ещё. на будущее. по поводу имени поля date... я крайне настойчиво рекомендую не использовать ключевые поля в именах полей, таблиц и т.д. |
|
![]() |
![]() |
![]() |
#10 |
Пользователь
Регистрация: 14.03.2012
Сообщений: 24
|
![]()
2 Прик - огромное спасибо, сразу помогло. Впредь буду интенсивнее изучать....
2 Serge_Bliznykov - по поводу поля Date - понял. Больше не буду использовать ключевые поля в именах таблиц. Большое спасибо. |
![]() |
![]() |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
string grid... | ilushka2306 | Помощь студентам | 1 | 18.03.2011 23:32 |
Grid for TPanels | ArtGrek | Компоненты Delphi | 7 | 20.02.2011 04:22 |
БД ADO Grid | crit | БД в Delphi | 4 | 20.01.2011 23:13 |
Grid | nimf | Общие вопросы Delphi | 2 | 22.04.2008 13:16 |
Help!Grid и Edit | Дамир | БД в Delphi | 1 | 16.02.2007 02:05 |