Форум: "Базы";
Текущий архив: 2004.04.18;
Скачать: [xml.tar.bz2];
ВнизMSAccess Найти похожие ветки
← →
BAYES © (2004-03-14 16:49) [0]Привет!
Пытался сам разобраться с ADOX, но что-то вяло идет, а проблема стоит и кажись будет стоять.
Мне необходимо в существующую БД (db.mdb), добавить таблицу "kontr" и в нее 3 поля (id-ключевое,счетчик,случайный,a-текстовы.100,b-текстовы.100).
Создавал запросом create table kontr (id integer...), все создавалось, id был ключевым, но не счетчик и т.д.
Затем пошел по пути ADOX, вот здесь и грабли. В VB, я не очень,а в ADO210.CHM, все описания именно на нем.
← →
sniknik © (2004-03-14 23:20) [1]крут, не разобрался с простейшими запросами полез в движок... уважаю.
рядом с ADO210.CHM лежит JETSQL40.CHM, не пробовал читать? в связи с create table ....
← →
BAYES © (2004-03-15 00:21) [2]Да ладно тебе глумиться, нужно от чего-то опираться(отпираться).
Сделал такую туфтуDM.ADOQuery1.SQL.Clear;
DM.ADOQuery1.SQL.Add("create table kont (id integer primary key)");
DM.ADOQuery1.ExecSQL;
DM.ADOQuery1.Close
Все гуд, но одновременно не гуд. Вот и полез в чащебу. Там получилось лучше.DM.ADOConnection1.Close;
cat:=CreateOleObject("ADOX.Catalog");
tab := CreateOleObject("ADOX.Table");
cat.Create("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=db123.mdb");
tab.name:="kont";
tab.ParentCatalog:=cat;
tab.Columns.Append("id",adInteger,0);//первое поле - счетчик
tab.Columns[0].Properties["AutoIncrement"].Value:= True; // счетчик
cat.tables.Append(tab);
И опять не то.
JETSQL40.CHM - эту штуку уже изучаю, но вся проблема, результат нужен утром, а до утра не разобраться.
← →
sniknik © (2004-03-15 10:51) [3]> Да ладно тебе глумиться
перестаю, отвечаю на так и не заданный вопрос. (правильное построение запроса в вопрос не входило)
кстати интересно еще утро? еще не опоздал?
ADOCommand.CommandText:=
"create table kont (id autoincrement primary key, name varchar(50), ...еще 2 поля)";
ADOCommand.Execute;
> И опять не то.
боюсь показатся навязчивым но что именно? не то это не то слово которым изясняются чтобы тебя поняли, вот запутать можно.
← →
BAYES © (2004-03-15 13:04) [4]>>sniknik © (15.03.04 10:51) [3]
вот вопрос
Мне необходимо в существующую БД (db.mdb), добавить таблицу "kont" и в нее 3 поля (id-ключевое,счетчик,случайный,a-текстовы.100,b-текстовы.100).
Твой пример делает(id-ключевое,счетчик,НОВОЕ НАЗНАЧЕНИЕ-ПОСЛЕДОВАТЕЛЬНО), а нужно СЛУЧАЙНО
← →
Плохиш (2004-03-15 13:23) [5]>BAYES © (15.03.04 13:04) [4]
> НОВОЕ НАЗНАЧЕНИЕ-ПОСЛЕДОВАТЕЛЬНО), а нужно СЛУЧАЙНО
Хорошо, что создатели баз данных до такого маразма не додумались :-|
← →
BAYES © (2004-03-15 18:09) [6]Плохиш (15.03.04 13:23) [5]
Ты о каком маразме? Открой Access в режиме конструктор, там все и увидишь! А использование autoincrement-случайного, это мне нужно, последовательное нарастание не приемлемо.
← →
Плохиш (2004-03-15 18:17) [7]>BAYES © (15.03.04 18:09) [6]
> Открой Access в режиме конструктор, там все и увидишь!
Что и autoincrement случайным образом то же увижу?
← →
Плохиш (2004-03-15 18:19) [8]И вообще, BAYES, ты бы слово increment перевёл бы, может и вопросов таких возникать не будет
← →
BAYES © (2004-03-15 18:38) [9]Плохиш (15.03.04 18:19) [8]
Там ты увидиш:
1)Тип данных-Счетчик
2)в сво-х таблицы есть НОВОЕ НАЗНАЧЕНИЯ, вот там можно выбрать, последовательные или случайные.
Все закрыли ветку.
← →
Doomin (2004-03-22 13:36) [10]Делал по книге Елмановой "ADO в Delphi" и посмотрел в TLB, формируемый из adox (DB - это обычный TADOConnection). Далее можно уже разобраться по аналогии. Я autoinc не использую, давно перешел на GUID в виду большей гибкости и постоянной потребности в репликации
var
DBC: TCatalog;
begin
DBC := TCatalog.Create(Self);
try
DBC.DefaultInterface.Set_ActiveConnection(DB.ConnectionObject);
Table := TTable.Create(Self);
try
try
Table.ParentCatalog := DBC.DefaultInterface;
Table.Name := "TBL_Currency";
Table.Columns.Append("ID", adGUID, 0);
Table.Columns.Append("Name", adVarWChar, 20);
Table.Columns.Append("LastDate", adDate, 0);
Table.Columns.Append("Deleted", adUnsignedTinyInt, 0);
Table.Columns.Item["ID"].Properties["Jet OLEDB:Autogenerate"].Value := True;
Table.Columns.Item["LastDate"].Properties["Default"].Value := "Now()";
Table.Columns.Item["Deleted"].Properties["Default"].Value := 0;
Table.Keys.Append("IDKey", adKeyPrimary, Table.Columns.Item["ID"], "", "");
DBC.Tables.Append(Table.DefaultInterface);
except
on E: Exception do
Application.MessageBox(PAnsiChar(format(MsgDBWriteError, [E.Message])), PAnsiChar(MsgError), MB_OK or MB_ICONERROR);
end;
finally
Table.Free;
end;
finally
DBC.Free
end;
end
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2004.04.18;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.036 c