Страница 1 из 2
База данных Mysql
Добавлено: 24.04.2010 10:23:42
whs
В общем появилась необходимость создания такой вот базы. Поиск информации на эту тему и чтение официальной вики не помогли. Нашел пример
Здесь но что то мне кажется там не совсем правильным. Вот и хотелось бы найти здесь Учителя кто возьмет ученика?
Re: База данных Mysql
Добавлено: 24.04.2010 14:30:54
FeodoR
Привет! Ну а какие проблемы? В принципе в том топике нормально написано. Или есть вопросы касательно именно создания БД?
Могу (если есть желание) поделиться модулем работы с mysql...
Re: База данных Mysql
Добавлено: 26.04.2010 15:37:32
whs
FeodoR писал(а):Привет! Ну а какие проблемы? В принципе в том топике нормально написано. Или есть вопросы касательно именно создания БД?
Могу (если есть желание) поделиться модулем работы с mysql...
Из проблем DBCombobox хочу список в него поместить а появляется только первая запись из 10. Я так понимаю Items список загружать надо как то по другому. Пробовал еще DBLookupComboBox тоже остается пустой.
Re: База данных Mysql
Добавлено: 26.04.2010 16:23:44
FeodoR
У меня получилось только вот с таким заполнением:
Код: Выделить всё
while not SQLQuery1.EOF do
begin
DBComboBox1.Items.Add(SQLQuery1.FieldByName(DBComboBox1.DataField).Value);
SQLQuery1.Next;
end;
SQLQuery1.First;
DBComboBox1.Items[0];
Re: База данных Mysql
Добавлено: 26.04.2010 16:36:53
whs
А как сделать запрос вида
Код: Выделить всё
("SELECT info, title, id, author, date FROM archive WHERE category='news' or 'about'")
чтоб из таблицы вытащить только строки у которых поле category равно news или about?
Re: База данных Mysql
Добавлено: 26.04.2010 18:38:36
FeodoR
Можно вот так:
Где-нибудь в интерфейсной секции:
Чтение по запросу:
Код: Выделить всё
if SQLQuery1.Active then SQLQuery1.Close;
SQLQuery1.SQL.Clear;
SQLQuery1.SQL.ADD('SELECT info, title, id, author, date FROM archive WHERE category='+SKav+'news'+SKav+' or category='+SKav+'about'+SKav);
SQLQuery1.Open;
Как-то так. Если нигде с кавычками не напутал, всё будет.
Re: База данных Mysql
Добавлено: 27.04.2010 06:10:51
Light13
FeodoR писал(а):Если нигде с кавычками не напутал
Используйте параметры, без них отгребете как нить по полной

Re: База данных Mysql
Добавлено: 27.04.2010 08:16:46
FeodoR
Не зна-а-аю

Я в своём проекте модуль написал и забыл.

Но у меня база - не основное. Она у меня как bootstrap идёт.

Настройки с параметрами считал и понеслось.

Но Вы, скорее всего, правы.
Re: База данных Mysql
Добавлено: 27.04.2010 08:47:46
whs
Ну раз такое дело то не хотелось бы отгрести по полной кстати в той статье в комментариях тоже советуют использовать параметры может увидеть вариант с использованием параметров?
А какие параметры и настройки модуль содержит можно код модуля посмотреть?
Re: База данных Mysql
Добавлено: 27.04.2010 09:22:47
Light13
Код: Выделить всё
SQLQuery1.Close;
//параметры начинаются с двоеточия
SQLQuery1.SQL.Text:='SELECT info, title, id, author, date FROM archive WHERE category = :Param0 or category = :Param1';
//установим типы данных у параметров
SQLQuery1.Params.ParamByName('Param0').DataType:=ftString;
SQLQuery1.Params.ParamByName('Param1').DataType:=ftString;
//Присвоим значения
SQLQuery1.Params.ParamByName('Param0').Value:='news';
SQLQuery1.Params.ParamByName('Param1').Value:='about';
SQLQuery1.Open;
запрос и типы параметров можно сформировать в дизайн-тайм
при формировании SQL с условиями с полями типа
дата/время не используя параметры можем получить ошибку на клиентском компьютере, где другой формат даты/времени используется.
Проверено на собственной шкуре

Re: База данных Mysql
Добавлено: 27.04.2010 13:38:17
FeodoR
А при выполнении SQLQuery1.Params.Add/Clear и т.д. работает? Только design-time не удобно.
Re: База данных Mysql
Добавлено: 27.04.2010 14:06:14
whs
FeodoR писал(а):А при выполнении SQLQuery1.Params.Add/Clear и т.д. работает? Только design-time не удобно.
У меня не заработало, значит не работает.
Re: База данных Mysql
Добавлено: 28.04.2010 09:36:49
Light13
whs писал(а):У меня не заработало, значит не работает
Все прекрасно работает.
Параметры не нужно добавлять вручную, список формируется из SQL.
Мой пример выше полностью рабочий.

Re: База данных Mysql
Добавлено: 28.04.2010 11:25:52
whs
Ну пример да рабочий. Я просто не полностью понял что SQLQuery1.Params.Add/Clear формируется из запроса

Re: База данных Mysql
Добавлено: 08.05.2010 15:03:45
whs
Опять спрошу то на что я так и не нашел ответа есть некое поле называется оно Состав в этом поле перечислены через запятую компоненты Медь Цинк Олово. Так вот я чего-то не пойму как составить запрос чтоб найти и вывести все записи где есть допустим Медь. Я или плохо искал или силами MySQL такое сделать нельзя но скорей первое чем второе. Есть мысль что нужно использовать LIKE я правильно мыслью?