![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Invalid table name [D5, dBase, FoxPro]
Stvaffniy © (2003-03-05 21:59:00)Dobrogo vremeni sutok, mastera. Pomogite pojaluysta. Zaranie izvinyaus za m.b. lamerskiy vopros i ego formulirovku. Trebuetsy sozdat tabliczu DBase IV (dbf file), cherez FieldDefs sozdau polya: Time, Date, Latitude, Longitude i t.d. po viboru polzovatelya. Posle vizova metoda CreateTable, pitaus Insert stroki, no ne tut to bilo! Vsplivaet oshibka SUBJ. Pochemu i kak ispravit? Zaranee spasibo. Otvechat luchshe na yaschik.
Stvaffniy (2003-03-07 18:55:00) [1]to BlackTiger
Spasibo bolshoe. Neznal. Poprobuu.
BlackTiger (2003-03-07 18:25:00) [2]По-моему, неправильно "e:\". Для dBase "e:\" - имя базы, а не таблицы. Имя таблицы задается относительно базы, а не напрямую.
>Anatoly Podgoretsky
Или я опять чего путаю?
Stvaffniy (2003-03-07 17:51:00) [3]To Anatoly Podgoretsky
izvinite, uvajaemiy, no chto ne pravilnogo v imeni kast2.dbf?
Anatoly Podgoretsky (2003-03-07 17:34:00) [4]Ну так задай правильное имя файлу
Stvaffniy (2003-03-07 17:30:00) [5]A chto pro nego govorit?
TableName :=
Anatoly Podgoretsky (2003-03-07 16:42:00) [6]BlackTiger (07.03.03 16:39)
Не выдумывай
BlackTiger (2003-03-07 16:39:00) [7]А имя таблицы пробелов не содержит? Или чего-то другого, кроме латинских символов? И имя таблицы должно быть не более 8-ми знаков.
Anatoly Podgoretsky (2003-03-07 16:36:00) [8]Да так и не хочешь сказать про имя таблицы, а ведь ругается на него, ну дело твое.
Stvaffniy (2003-03-07 16:28:00) [9]Vse eto ya ukazivau v inspektore objectov.
Active esstestvenno False
TableType :=
MsGuns (2003-03-06 17:09:00) [10]Ты не указал св-ва TableType, TableName, DatabaseName
Пример из доки (сам я не нашел у себя, т.к. давно создаю SQL)
With Table1 do
begin
Active := false;
DatabaseName := "DBDEMOS";
TableType := ttParadox;
TableName := "CustInfo";
If Not Table1.Exists then
begin
...
Stvaffniy (2003-03-06 16:11:00) [11]if not Table.Exists then
begin {if not exists}
With Table do
begin {with Table}
with FieldDefs do
begin {with FieldDefs}
Clear;
If OptForm.ChLBox.Checked[14] = True then {Fix_Number}
with Table.FieldDefs.AddFieldDef do
begin
Name := "Num";
DataType := ftInteger
end;
If OptForm.ChLBox.Checked[0] = True then {Date}
with AddFieldDef do
begin
Name := "Dat";
DataType := ftString;
Size := 10
end;
If OptForm.ChLBox.Checked[1] = True then {Time}
with AddFieldDef do
begin
Name := "Tim";
DataType := ftString;
Size := 10
end;
If OptForm.ChLBox.Checked[4] = True then {Crd_Lat_Lon}
begin {if 4}
with AddFieldDef do
begin
Name := "Lat";
DataType := ftFloat;
Precision := 3
end;
with AddFieldDef do
begin
Name := "Lon";
DataType := ftFloat;
Precision := 3
end;
end; {if 4}
....
end; {with FieldDefs}
CreateTable
end; {with Table}
end; {if not exists}
If Table.Exists then (i vot tut to i nachinautsya
with Table do problemmi...)
begin {with Table}
Open;
Insert;
....
Stvaffniy (2003-03-05 23:40:00) [12]Thanx. No kod vse ravno pokaju, mojet chto prisovetuesh.
MsGuns (2003-03-05 23:21:00) [13]Local SQL (есть во встроенном дефишном хэлпе) язык предельно протстой. У меня он весь законспектировани и занимает аж 16 страниц : Общее описание (соглашения, ограничения, форматы) - 3 стр, DML (Select/Delete/Insert/Update вместе с операндами) - 11,
DDL (Create/Alter/Drop) - 2.
Но штука действительно классная ! Удобная и вполне читабельная. А главное, всегда можно посмотреть в run-тайме что там у тебя прога "настряпала", когда текст готовится динамически.
Да к тому же даалеко не у всех СУБД есть Table с методом CreateTable.
Stvaffniy (2003-03-05 22:57:00) [14]Kod obeschau tolko, zavtra (sorry, ostalsya na parahode), s SQL tugo u menya, no za sovet spasibo, poprobuu. M.b. chto to s nastroykami BDE?, no ya tuda prakticheski ne lazil.
MsGuns (2003-03-05 22:27:00) [15]Во-первых, код в студию !
Во-вторых, проще ИМХО это все делать SQL-запросом CREATE TABLE, который прога предварительно готовит из того, что указал узер. И код читабельнее, и в случае чего ошибка вылезет не на строке, а в целом на этапе Prepare. (Перед Prepare сделай SQL.SaveToFile("MyCreate.sql");
Stvaffniy (2003-03-05 22:17:00) [16]Net, s imenem basi kak raz vse normalno. Eto ya proveril v pervuu ochered. Proboval sozdavat v Exceel
Pat (2003-03-05 22:07:00) [17]Возможно, в запросе неверноея, либо недопустимое имя таблицы