![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как правильно создавать таблицу? [D7, MSSQL]
ocean © (2009-12-29 12:15:00)AdoQuery1.SQL.Text := 'drop table table1';
try AdoQuery1.ExecSQL;
except; end;
AdoQuery1.SQL.Text := 'create table table1 ( 'id int NOT NULL identity(1,1) PRIMARY KEY, name varchar(50) NULL ... )';
AdoQuery1.ExecSQL;
На второй execsql выдает general exception "в базе уже есть объект с таким именем". Как это делать правильно?
Медвежонок Пятачок (2009-12-29 12:52:00) [21]На второй execsql выдает general exception "в базе уже есть объект с таким именем". Как это делать правильно?
не вызывать create table если создаваемая таблица уже есть в базе данных.
Медвежонок Пятачок (2009-12-29 12:50:00) [22]Но ведь каждый делает ЭТО.
Это еще не значит, что реализация языка SQL находится в делфи.
ocean (2009-12-29 12:47:00) [23]> Ega23 © (29.12.09 12:26) [3]
а если таблица уже есть, а я хочу изменить столбцы, alter table? Логичнее
drop
create table
Да и пробовал я это. ExecSQL ругается на несколько операций в 1 запросе.
> В делфи вообще нет никакой реализации SQL.
Но ведь каждый делает ЭТО. А ты как создаешь таблицы?
Медвежонок Пятачок (2009-12-29 12:40:00) [24]реализация SQL в Delphi7 мягко говоря неполная?
Я бы сказал еще категоричнее.
В делфи вообще нет никакой реализации SQL.
Медвежонок Пятачок (2009-12-29 12:36:00) [25]мда. глубокая мысль.
ocean (2009-12-29 12:35:00) [26]Значит, реализация SQL в Delphi7 мягко говоря неполная?
Ega23 (2009-12-29 12:26:00) [27]
if not exists (select 1 from sysobjects where id = object_id('Table1') and type = 'U')
begin
create table Table1 (
id int NOT NULL identity(1,1),
.....
constraint PK_Table1 primary key (id)
);
end;
Медвежонок Пятачок (2009-12-29 12:22:00) [28]Как это делать правильно?
Правильно - это не писать таких конструкций
try
...
except
end;
Медвежонок Пятачок (2009-12-29 12:20:00) [29]сказано же что есть уже такой объект