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

Delphi Sources



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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 19.03.2013, 15:57
cyborgg4655 cyborgg4655 вне форума
Начинающий
 
Регистрация: 16.03.2013
Сообщения: 151
Версия Delphi: Delphi 2010
Репутация: 10
Вопрос Ошибка в CREATE TABLE IF NOT EXISTS

Мне нужно чтобы по нажатию на кнопку создавалась таблица, а если она уже создана, то чтобы не создавалась, дабы избежать ошибки что такая таблца уже существует.Ругается на неправильный формат Create Table. Помоги исправить ошибку.
Вот мой код:
Код:
ADOQuery4.SQL.Text:= Format('CREATE TABLE IF NOT EXISTS %s (Код number, Наименование char(255), По_документу number, По_факту number, Расхождения number, Учед char(10), Дата date)', [asd1]);

[IF NOT EXISTS] - с ковычками тоже пробывал, не помогло.
Ответить с цитированием
  #2  
Старый 19.03.2013, 20:04
Аватар для M.A.D.M.A.N.
M.A.D.M.A.N. M.A.D.M.A.N. вне форума
Sir Richard Abramson
 
Регистрация: 05.04.2008
Сообщения: 5,505
Версия Delphi: XE10
Репутация: выкл
По умолчанию

База MySQL?
__________________
— Как тебя понимать?
— Понимать меня не обязательно. Обязательно меня любить и кормить вовремя.


На Delphi, увы, больше не программирую.
Рекомендуемая литература по программированию
Ответить с цитированием
  #3  
Старый 19.03.2013, 20:29
cyborgg4655 cyborgg4655 вне форума
Начинающий
 
Регистрация: 16.03.2013
Сообщения: 151
Версия Delphi: Delphi 2010
Репутация: 10
По умолчанию

Цитата:
Сообщение от M.A.D.M.A.N.
База MySQL?
Нет, MS Access...
Ответить с цитированием
  #4  
Старый 19.03.2013, 21:09
Аватар для M.A.D.M.A.N.
M.A.D.M.A.N. M.A.D.M.A.N. вне форума
Sir Richard Abramson
 
Регистрация: 05.04.2008
Сообщения: 5,505
Версия Delphi: XE10
Репутация: выкл
По умолчанию

Что справка говорит по поводу "CREATE TABLE IF NOT EXISTS", есть там такое?
__________________
— Как тебя понимать?
— Понимать меня не обязательно. Обязательно меня любить и кормить вовремя.


На Delphi, увы, больше не программирую.
Рекомендуемая литература по программированию
Ответить с цитированием
  #5  
Старый 19.03.2013, 22:30
cyborgg4655 cyborgg4655 вне форума
Начинающий
 
Регистрация: 16.03.2013
Сообщения: 151
Версия Delphi: Delphi 2010
Репутация: 10
По умолчанию

Цитата:
Сообщение от M.A.D.M.A.N.
Что справка говорит по поводу "CREATE TABLE IF NOT EXISTS", есть там такое?
Справку не смотрел. Решил этот вопрос по другому, более усложненным методом, и то с ним долго мучился))

Код:
var
i3: integer;
asd9:integer;
asd1:string;
begin
asd1:=ADOQuery2.FieldByName('Клиент').Text;
ADOConnection4.GetTableNames(ListBox1.Items, False);
for i3  :=0 to ListBox1.Items.Count-1 do
if ListBox1.Items.Strings[i3]=asd1 then
begin
exit;
end;
for i3  :=0 to ListBox1.Items.Count-1 do
if ListBox1.Items.Strings[i3]<>asd1 then
begin
asd9:=1;
end;
if asd9=1 then
begin
ADOQuery4.Close;
//ADOQuery4.SQL.Clear;
ADOQuery4.SQL.Text:= Format('CREATE TABLE %s (Код number, Наименование char(255), По_документу number, По_факту number, Расхождения number, Учед char(10), Дата date)', [asd1]);
ADOQuery4.ExecSQL;
ADOQuery4.SQL.Text:= Format('SELECT * from %s', [asd1]);
ADOQuery4.Open;
end;
end;
Долга была проблема, выдавал ошибку, говорил мол таблица ХХХХ уже создана.
Только этот кусок меня спас
Код:
for i3  :=0 to ListBox1.Items.Count-1 do
if ListBox1.Items.Strings[i3]=asd1 then
begin
exit;
Без него вроде как и цикл был правильный, но ошибка так и доканывала...
Ответить с цитированием
Ответ


Delphi Sources

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

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

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

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


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


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

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

ВКонтакте   Facebook   Twitter