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

Вниз

Как правильно создать TDataBase динамически?   Найти похожие ветки 

 
Kolan ©   (2007-07-24 12:13) [0]

А то при запросе ругается Unknown database&#133
А если кинуть базу на форму и указать её — то все работает&#133


 
Плохиш ©   (2007-07-24 12:15) [1]


> Kolan ©   (24.07.07 12:13)  
> А то при запросе ругается Unknown database

Ошибка в программе, строка 17.


 
Desdechado ©   (2007-07-24 12:16) [2]

А как ты создаешь?


 
Kolan ©   (2007-07-24 12:25) [3]

> А как ты создаешь?

 FDataBase := TDatabase.Create(nil);
 FDataBase.DatabaseName := "DB";
 FDataBase.Params.Clear;
 FDataBase.Params.Add("PATH="+GetSettingsManager.GetDBDir);
 FDataBase.Params.Add("DEFAULT DRIVER=PARADOX");
 FDataBase.Params.Add("ENABLE BCD=FALSE");


Использую как-то так:
var
 Query: TQuery;
 TempLPU: TCustomLPU;
begin
 Result := nil;
 Query := TQuery.Create(nil);
 try
   Query.DatabaseName := "DB234";//FDataBase.DatabaseName;
   Query.SQL.Add("SELECT * FROM SLLPU ");
   Query.Open;
   if not Query.Eof then
   begin
     Result := TLPUList.Create;
     Query.First;
     while not Query.Eof do
     begin
       TempLPU := TCustomLPU.Create(Query.FieldByName("NMLPU").AsString,
         lUnknown);
       TempLPU.ID := Query.FieldByName("CDLPU").AsInteger;
       Result.Add(TempLPU);
       Query.Next;
     end;
   end;
 finally
   Query.Close;
   Query.Free;
 end;
end;


"DB234";//FDataBase.DatabaseName;
"DB234" — лежит на форме — с ней работает&#133


 
Desdechado ©   (2007-07-24 12:31) [4]

If DatabaseName is the same as an existing Borland Database Engine (BDE) alias, then the AliasName and DriverName properties need not be set. If DatabaseName does not match an existing BDE alias, then either the application must also supply a valid alias in the AliasName property in addition to the DatabaseName, or it must supply the DriverName and Params properties.


 
Плохиш ©   (2007-07-24 12:32) [5]


> Kolan ©   (24.07.07 12:25) [3]

Что-то не заметно присвоения значений ни свойству AliasName, ни свойству DriverName.


 
Loginov Dmitry ©   (2007-07-24 13:50) [6]


> Как правильно создать TDataBase динамически?


Как-то так:

procedure TForm1.Button1Click(Sender: TObject);
begin
 with TDatabase.Create(Application) do
 try
   DatabaseName := "TIPA_ALIAS";
   DriverName := "STANDARD";
   Params.Values["PATH"] := DBPath;
   Connected := True;
 finally
   Free;
 end;
end;


 
Kolan ©   (2007-07-24 15:28) [7]

> Loginov Dmitry ©   (24.07.07 13:50)

Угу, благодарю — получилось&#133


 
MsGuns ©   (2007-07-24 21:28) [8]

Вообще-то можно "кинуть" TDataBase на форму, настроить ее, а в ране создавать динамически "по образу и подобию"



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

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

Наверх




Память: 0.48 MB
Время: 0.015 c
2-1185390951
Мануха
2007-07-25 23:15
2007.08.19
желтая сетка в StringGrid


15-1185125141
Sdubaruhnul
2007-07-22 21:25
2007.08.19
Москвичи или это я гоню?


15-1184735259
Notebook
2007-07-18 09:07
2007.08.19
Как перезагрузить ноутбук?


15-1183992453
Megabyte
2007-07-09 18:47
2007.08.19
Delphi 7 and MSSQL 2005


15-1185167960
ZMRaven
2007-07-23 09:19
2007.08.19
А сколько может стоить курсач на дельфях?