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

Вниз

Ошибка с SQL запросом !! ((   Найти похожие ветки 

 
Alpine ©   (2003-02-10 14:13) [0]

Коороче делаю так ...
chk :=false;
PriceQuery.Close;
PriceQuery.Open;
for i:=0 to PriceQuery.FieldCount-1 do
if PriceQuery.Fields.Fields[i].FieldName = "ID" then chk:=true;
if chk=false then
begin
PriceQuery.Close ;
PriceQuery.SQL.Clear;
PriceQuery.SQL.Add("ALTER TABLE "PRICE.DBF"");
PriceQuery.SQL.Add("ADD ID CHARACTER(10)");
PriceQuery.Open;
Выдаёт ошибку (( ... Первый раз когда нету поля ID пишет "Error creating cursor handle" ... А второй раз после того как поле создалось пишет "TABLE IS BUSY" ... Помогитееее


 
stone ©   (2003-02-10 14:29) [1]

PriceQuery.ExecSQL;


 
alpine ©   (2003-02-10 14:37) [2]

А нельзя подругому делать проверку таблицы на наличие определённого поля ?


 
stone ©   (2003-02-10 14:43) [3]

В данном случае можно вообще не делать

try
PriceQuery.Close ;
PriceQuery.SQL.Clear;
PriceQuery.SQL.Add("ALTER TABLE "PRICE.DBF"");
PriceQuery.SQL.Add("ADD ID CHARACTER(10)");
PriceQuery.ExecSQL;
except
on Exception do
Application.HandleException(Self);
end;

а вообще проверяется так:
if PriceQuery.Fields.FindField("ID") <> nil then
...


 
Johnmen ©   (2003-02-10 14:46) [4]

try
<попытка что-то считать из поля>
except
<поле отсутствует !>
end


 
MsGuns ©   (2003-02-10 16:56) [5]

Если НД - таблица, то для проверки наличия определенного поля можно обойтись безо всяких запросов:

procedure CheckFieldExist(tb: TTable; FldName: string): boolean;
var
sl: TStrings;
begin
result := false;
sl := TStringList.Create;
tb.DataBase.GetFieldNames(tb.TableName,sl);
if sl.IndexOf(FldName)>-1 then result := true;
end;


 
alpine ©   (2003-02-10 17:42) [6]

Делаю так ..
try
PriceQuery.FieldByName("ID").AsString;
except begin
PriceQuery.Close ;
PriceQuery.SQL.Clear;
PriceQuery.SQL.Add("ALTER TABLE "PRICE.DBF"");
PriceQuery.SQL.Add("ADD ID CHARACTER(10)");
PriceQuery.ExecSQL;
end;
Не находит поле ID ... Доходит до запроса и выдаёт ошибку "Table busy" ... Нажимаю ок ... Загружается программа и таблица закрыта ! Что делать ???? Хелп плизззз !


 
Smashich ©   (2003-02-10 17:51) [7]

какая таблица закрыта можно спросить? не вижу вообще здесь таблиц...очевидно где то они есть...вот где используешь TTable - там и ошибка, как мне кажется


 
alpine ©   (2003-02-10 17:56) [8]

Таблица парадокс ... PriceQuert типа TQuery ! Вот он и закрыт !


 
Smashich ©   (2003-02-10 18:01) [9]

где то ты уже открыл таблицу TTable или TQuery или я уже не знаю чем, но открыл! и не закрыл! в том куске кода на который ты ругаися ошибок нет...


 
MsGuns ©   (2003-02-10 18:05) [10]

Да она у него в оболочке небось открыта (св-во Active:=true) или нечто в этом роде !



Страницы: 1 вся ветка

Текущий архив: 2003.02.27;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.011 c
1-87431
Дима2003
2003-02-17 10:11
2003.02.27
iif ?


8-87570
Rule
2002-11-12 23:09
2003.02.27
Подскажите пожалуйста как уменьшить JPEG ???


1-87437
BorisUK
2003-02-18 13:56
2003.02.27
Проблема с маской или у меня :)


1-87427
McAndy
2003-02-18 15:03
2003.02.27
Можно ли записать в файл экземпляр объекта


1-87372
shodan
2003-02-17 17:33
2003.02.27
Сообщение программы