Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Базы данных
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 08.08.2010, 19:05
Gman Gman вне форума
Новичок
 
Регистрация: 25.02.2010
Сообщения: 59
Репутация: -54
По умолчанию Ошибка при создании таблицы программно

У меня такая проблемка: Не могу создать программно таблицу в MySQl 5.0.

Код:
DataModul.DataModule2.ADOCommand1.CommandText:='CREATE TABLE '' '+imtab+' ''(''ima'' integer, ''adr'' CHAR(255))';
DataModul.DataModule2.ADOCommand1.Execute;
Что бы присвоить ADOCommand текст sql запроса, необходима его представить в виде строки, для этого он отделяется одинарными кавычками, а чтобы правильно задать запрос по правилам сиснтаксиса mysql имя табл и полей тоже должны быть в кавычках, при чем одинарных.
Самое интересное чтобы добавить строку или поставить условие, то можно использовать двойные кавычки. Т.О. программно у меня не выходит создать таблицу, помогите пожалуйста..
Ответить с цитированием
  #2  
Старый 08.08.2010, 19:58
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,048
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Напиши как команда должна быть, мы тебе напишем как такую строку собрать в дельфи...
Ответить с цитированием
  #3  
Старый 08.08.2010, 20:40
Gman Gman вне форума
Новичок
 
Регистрация: 25.02.2010
Сообщения: 59
Репутация: -54
По умолчанию

Код:
CREATE TABLE 'imtab'('ima' integer, 'adr' CHAR(120))

Примерно такой SQL запрос к MySQL должен быть, заранее спасибо.
Ответить с цитированием
  #4  
Старый 09.08.2010, 00:15
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,048
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Код:
s := Format('CREATE TABLE ''%s'' (''%s'' integer, ''%s'' char(120))',['imtab','ima','adr']);

Посление параметры в [] - то, что будет подставленно в строку на место %s
Ответить с цитированием
  #5  
Старый 09.08.2010, 07:14
Gman Gman вне форума
Новичок
 
Регистрация: 25.02.2010
Сообщения: 59
Репутация: -54
По умолчанию

Спасибо за помощь. Я сделал так:
Код:
procedure TForm2.Button1Click(Sender: TObject);
var s:string;
begin
s:=Format('CREATE TABLE ''%s''(''%s'' CHAR(20), ''%s'' CHAR(120))',['imtab','ima','adr']);
ADOCommand1.CommandText:=s;
ADOCommand1.Execute;
end;
Но всё равно выдаёт ошибку, что сиснтаксис sql не правельный начиная от сюда: 'imtab'('ima' CHAR(20), 'adr' CHAR(120))

Последний раз редактировалось Gman, 09.08.2010 в 07:39.
Ответить с цитированием
  #6  
Старый 09.08.2010, 07:28
Gman Gman вне форума
Новичок
 
Регистрация: 25.02.2010
Сообщения: 59
Репутация: -54
По умолчанию

''%s'' - я так понимаю 4 одинарные кавычки здесь используются

Последний раз редактировалось Gman, 09.08.2010 в 07:45.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра
Комбинированный вид Комбинированный вид

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 00:53.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter