Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Delphi и Mysql [D6, MySQL]


Jenny ©   (2011-04-20 20:35:00) 

Здравствуйте, я разрабатываю БД на Delphi и Mysql с помощью компонентов Ado. Базу создала и подключила, но возник ряд вопросов:
1. В таблице Grid в одном поле отображается тип данных, а не сами данные, в остальных полях все как положено. Также это поле нормально отображается в самой БД Mysql. В чем может быть ошибка и как ее исправить?
2. как организовать добавление данных в БД посредством Delphi? пишу:
if DataModule2.ADOTableBase.Modified then
 DataModule2.ADOTableBase.Post;
 Close;
но как-то он коряво данные заполняет.
3. как сразу после удаления какой-либо строки обновить таблицу, а то она обновляется только после переподключения к базе?

заранее спасибо


Виталий Панасенко(дом)   (2011-04-21 20:18:00) [1]


> Jenny ©   (21.04.11 14:31) [7]
>
> 2. пишу данные в dbedit, на кнопку вешаю обработчик:
> datamodule.adotable.open;
> datamodule.adotable.fieldbyname('name').asstring:=dbedit1.
> text;
> далее по всем полям, которые необходимо заполнить
> datamodule.adotable.post;
> close

это бред сивой кобылы. если используется DBEdit, то:
1. DBEdit ДОЛЖЕН быть уже связан с adotable и его каким-то полем.
2. При изменении значения в DBEdit adotable  АВТОМАТИЧЕСКИ переходит в режим dsEdit
3. Потому достаточно где-то запостить(Post) данные..Например на кнопке "Сохранить"
В итоге вместо этой бедятины

> далее по всем полям, которые необходимо заполнить

в событии OnClick кнопки ОДИН раз вызвать

> datamodule.adotable.post;


И на кой каждый раз ОТКРЫВАТЬ и ЗАКРЫВАТЬ набор данных?


clickmaker   (2011-04-21 15:57:00) [2]

http://www.delphikingdom.ru/asp/viewitem.asp?catalogid=408
http://www.delphikingdom.ru/asp/viewitem.asp?catalogid=413
http://www.delphikingdom.ru/asp/viewitem.asp?catalogid=420


Jenny   (2011-04-21 15:41:00) [3]

а как это сделать? не могли бы привести код?


clickmaker   (2011-04-21 15:38:00) [4]

> [8] Jenny ©   (21.04.11 14:34)

а где обновление набора данных, на который смотрит DBGrid?


Jenny   (2011-04-21 14:34:00) [5]

> 3. как сразу после удаления какой-либо строки обновить таблицу,
>  а то она обновляется только после переподключения к базе?

Приведите свой код удаления

if application.messagebox ('вы действительно хотите удалить эту запись?'), 'внимание', mb_okcancel)=id_ok then datamodule.adotable.delete;


Jenny   (2011-04-21 14:31:00) [6]

2. пишу данные в dbedit, на кнопку вешаю обработчик:
datamodule.adotable.open;
datamodule.adotable.fieldbyname('name').asstring:=dbedit1.text;
далее по всем полям, которые необходимо заполнить
datamodule.adotable.post;
close


  (2011-04-21 13:03:00) [7]

Удалено модератором


Плохиш   (2011-04-21 12:24:00) [8]


> OW ©   (21.04.11 12:07) [3]


> clickmaker ©   (21.04.11 12:08) [4]

Мужики, у меня в подвале что-то стучит. Нужна помощь.


clickmaker   (2011-04-21 12:08:00) [9]

> 1. использую тип данных widestring

стандартный grid в D6 не поддерживает уникод


> 2. добавляет только данные в бд Mysql, но не отображает
> их в таблице DBGrid

а как добавляются данные?


OW   (2011-04-21 12:07:00) [10]


> 1. использую тип данных widestring

см google OnDrawDataCell в DBGrid
или use другой Grid, где это реализовано


> 2. добавляет только данные в бд Mysql, но не отображает
> их в таблице DBGrid

как происходит добавление, приведите код.


Jenny   (2011-04-21 11:48:00) [11]

1. использую тип данных widestring
2. добавляет только данные в бд Mysql, но не отображает их в таблице DBGrid


OW   (2011-04-21 09:02:00) [12]


> 1. В таблице Grid в одном поле отображается тип данных,
> а не сами данные, в остальных полях все как положено. Также
> это поле нормально отображается в самой БД Mysql. В чем
> может быть ошибка и как ее исправить?

Ужель Integer? :)
см OnDrawDataCell или google Memo-поля в DBGrid


> 2. как организовать добавление данных в БД посредством Delphi?
>  пишу:
> if DataModule2.ADOTableBase.Modified then
>  DataModule2.ADOTableBase.Post;
>  Close;
> но как-то он коряво данные заполняет.

что конкретно значит "коряво". Что ожидалось и что получилось?


> 3. как сразу после удаления какой-либо строки обновить таблицу,
>  а то она обновляется только после переподключения к базе?

Приведите свой код удаления


Наверх

Титульная страница Поиск, карта сайта Написать письмо