Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.11.2010, 01:48   #1
chandrasecar
Форумчанин
 
Аватар для chandrasecar
 
Регистрация: 03.10.2008
Сообщений: 180
Вопрос Работа с удаленной БД MySQL под управлением PhpMyAdmin

Подключаюсь к БД сайта. Использую компоненты MySQL.Data.Access.Components (MyDAC). В таблице БД MySQL нужное мне поле имеет тип данных 'TEXT'. Загружаю данные в DBGrid через DataSource и вместо нужных данных в ячейках записи: "(MEMO)". Из-за этого я не могу выполнять запросы на обновление данных типа:

Код:
ClientDataSet1.edit;
ClientDataSet1['LastName']:='Иванов';
ClientDataSet1.post;
Но данные считываются.

Все дело в типе данных 'TEXT'. Как это перебороть? Если тип данных CHAR, VARCHAR, то все ОК. Изменить тип данных в БД MySQL невозможно, нельзя.
лучший подарок женщине-программисту
chandrasecar вне форума Ответить с цитированием
Старый 12.11.2010, 08:56   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Из-за этого я не могу выполнять запросы на обновление данных типа:
Так ли уж из-за этого??
DBGrid насколько я знаю не способен показать текст МЕМО самостоятельно. У тебя два выхода:
1) Создать текстовое вычисляемое поле, которому присваивать данные из этого МЕМО
2) Кинуть на форму DBMemo. и настроить его на это поле.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 12.11.2010, 17:12   #3
chandrasecar
Форумчанин
 
Аватар для chandrasecar
 
Регистрация: 03.10.2008
Сообщений: 180
По умолчанию

Вот я вывел данные в МЕМО, указав источник данных и имя поля. Все отображает. Я программно изменяю содержимое МЕМО. Как теперь программно обновить БД, записать новое значение МЕМО?
лучший подарок женщине-программисту
chandrasecar вне форума Ответить с цитированием
Старый 12.11.2010, 17:23   #4
_SERGEYX_
Участник клуба
 
Аватар для _SERGEYX_
 
Регистрация: 07.07.2007
Сообщений: 1,518
По умолчанию

Ничего не понял. Сформулируй вопрос корректно. И при чем здесь PhpMyAdmin?
_SERGEYX_ вне форума Ответить с цитированием
Старый 12.11.2010, 17:32   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Как теперь программно обновить БД, записать новое значение МЕМО?
Запросом
Код:
update set поле='Его значение даже если оно МЕМО' where условие для записи
Мемо это то же строковое поле, только с другими немного формами, а поступать с ней можно так же как и с любым строковым типом.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 12.11.2010, 17:39   #6
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
По умолчанию

Попробуй использовать компонент DBRichEdit. Кажется он способен отображать содержимое МЕМО поля. Попробуй прямо в нем редактировать текст.
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 12.11.2010, 17:49   #7
chandrasecar
Форумчанин
 
Аватар для chandrasecar
 
Регистрация: 03.10.2008
Сообщений: 180
По умолчанию

Мне нужно обновлять значения через ClientDataSet. Там есть процедуры EDIT и POST. Как посредством этих процедур записывать измененные значения DBMemo?
лучший подарок женщине-программисту
chandrasecar вне форума Ответить с цитированием
Старый 12.11.2010, 17:53   #8
_SERGEYX_
Участник клуба
 
Аватар для _SERGEYX_
 
Регистрация: 07.07.2007
Сообщений: 1,518
По умолчанию

Если ты изменяешь текст прямо в DBMemo, то достаточно сделать
Код:
if ClientDataSet.Modified then
ClientDataSet.Post;
Post также сработает при переходе на другую запись.
_SERGEYX_ вне форума Ответить с цитированием
Старый 12.11.2010, 18:03   #9
chandrasecar
Форумчанин
 
Аватар для chandrasecar
 
Регистрация: 03.10.2008
Сообщений: 180
По умолчанию

Я так и делаю. Программно вставляю текст в мемо и ClientDataSet.Post;. Записей много, делаю это в цикле. Но результатов нет. Смотрю БД MySQL на сайте - результатов нет.
Код:
      MyTable3.Edit;
      DBMemo1.Text:=strnew;
      MyTable3.Post;
А вручную работает, когда перехожу на др. строку. Ладно, спасибо, разберусь...
лучший подарок женщине-программисту

Последний раз редактировалось chandrasecar; 12.11.2010 в 18:07.
chandrasecar вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Flash-сайт под управлением MODx Antoha WordPress и другие CMS 3 27.12.2009 17:04
Связка apache+mysql+phpmyadmin sisofcase PHP 6 14.07.2009 17:42
Хостинг с удаленной mySQL apromix SQL, базы данных 0 16.05.2009 17:28
Не могу сделать на Delphi аналог phpMyAdmin для MySQL 4 Daniel_90 БД в Delphi 3 05.03.2009 09:57
Нужна помощь! Нужно переделать программу написанную на дельфи, чтобы она работала под управлением Vista Karloss Фриланс 5 10.11.2008 17:14