Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.08.08;
Скачать: CL | DM;

Вниз

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;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.026 c
14-24225
ghremlin
2002-07-15 09:18
2002.08.08
Может мне кто-нибудь сказать ??


3-23950
Unhandled Exception
2002-07-19 09:16
2002.08.08
Вопрос относительно создания потомка TDataSet а


3-23914
FLIZ
2002-07-18 10:54
2002.08.08
Как выполнить V.Basic-ский код, хранящейся в базе Access ?


1-24060
BOPOH
2002-07-24 13:54
2002.08.08
Вопрос по бордюру окна


1-24035
eruc
2002-07-25 17:37
2002.08.08
Как создать <?xml version=