Форум: "Базы";
Текущий архив: 2002.08.08;
Скачать: [xml.tar.bz2];
ВнизADOX - Create TABLE (FIELD1 INT NULL,FIELD2 INT NULL) Найти похожие ветки
← →
Oleg Oransky (2002-07-17 17:35) [0]This is only piece of function, that create table with
defined structure
DataBase : MS SQL 2000
I can"t create table with Field NULL enabled
Create TABLE (FIELD1 INT NULL,FIELD2 INT NULL)
I produce table with structure :
Create TABLE (FIELD1 INT NOT NULL,FIELD2 INT NOT NULL)
Any help would be greatly appreciated.
var
Catalog : _Catalog;
Table : _Table;
Column : _Column ;
DS : String;
//DS -- Connection string
Catalog := CreateCOMObject(StringToGUID("ADOX.Catalog")) as _Catalog;
Catalog._Set_ActiveConnection(DS);
// Create a Table Object
Table := CreateCOMObject(StringToGUID("ADOX.Table")) as _Table;
// Set the name of a table
Table.Name := "Mytable";
Table.ParentCatalog := Catalog;
Column := CreateCOMObject(StringToGUID("ADOX.Column")) as _Column;
With Column do
begin
ParentCatalog := Catalog;
Name := DataSet_Selected_Fields.FieldByName("Field_Name").asstring;
Type_ := adInteger;
end;
Table.Columns.Append(Column, 0, 0);
← →
kalliopiy (2002-07-17 17:50) [1]Well, it"s very difficult to understand your problem.
As far as i understand you just need to use the following syntax
Create TABLE <tablename> (FIELD1 INT,FIELD2 INT)
And that"ll be enough.
And what for have you typed all this code? :)
← →
sniknik (2002-07-17 18:06) [2]NULL | NOT NULL
Are keywords that determine if null values are allowed in the column. NULL is not strictly a constraint but can be specified in the same manner as NOT NULL.
если проблема в том что не воспринимается NULL в выражении "FIELD1 INT NULL" то расслабься она не нужна вовсе т.к. действует по default-у. и нужна для "красоты", достаточно Create TABLE (FIELD1 INT, FIELD2 INT)
(перевод вольный :-)
← →
kalliopiy (2002-07-17 18:18) [3]
> sniknik
> (перевод вольный :-)
Молодец! А то что это он не по нашенски заговорил?!
← →
Val (2002-07-17 18:31) [4]>kalliopiy © (17.07.02 18:18)
Молодец! ..
это конечно, но почему-то тоже таблицу без имени создает :)
← →
sniknik (2002-07-17 18:45) [5]Так это у него так, описание, а таблицу он методами ADOX создает. (т.е. в этом случае на "Create Table ... " надо смотреть не как на SQL команду а как на пояснение)
← →
sniknik (2002-07-18 09:44) [6]И кстати тут я ошибался, думал что раз в одном месте по умолчанию то уж средства что в этом участвуют тоже берут по умолчанию, а вот проверил оказалось явно нужно задавать.
procedure TForm1.Button2Click(Sender: TObject);
const adInteger = 3;
adWChar = 130;
adColNullable = 2;
var tbl, cat, colTemp: Variant;
begin
tbl:= CreateOleObject("ADOX.Table");
cat:= CreateOleObject("ADOX.Catalog");
colTemp:= CreateOleObject("ADOX.Column");
cat.ActiveConnection:= "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:\Xaltura\Test\TestBase.mdb;";
tbl.Name:= "TestTable";
//create not null column
tbl.Columns.Append("Column1", adInteger);
tbl.Columns.Append("Column2", adInteger);
tbl.Columns.Append("Column3", adWChar, 50);
//create null column
colTemp.Name:= "FaxPhone";
colTemp.Type:= adWChar;
colTemp.DefinedSize:= 24;
colTemp.Attributes:= adColNullable;
tbl.Columns.Append(colTemp);
cat.Tables.Append(tbl);
end;
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2002.08.08;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.006 c