Вниз
Скачать: CL | DM;

подключение с помощью Opendialog   Найти похожие ветки 

 
Boxer   (2005-12-07 17:02) [0]

задача состоит в том, чтобы создать независимое подключение приложения-клиента к базе.
lделаю так:
procedure TForm1.btOpen(Sender: TObject);
begin
OpenDialog1.Execute;
end;

procedure TForm1.OpenDialog1Close(Sender: TObject);

Var DBPathName: string;

begin
DBPathName := OpenDialog1.FileName;
DataConnection.ConnectionString:="Provider=Microsoft.Jet.OLEDB.4.0;"+
"User ID=Admin;"+
"DataSource="
+DBPathName+
"Mode=ReadWrite;"+
"Extended Properties="";"+
Jet OLEDB:System database="";"+
"Jet OLEDB:Registry Path="";"+
"Jet OLEDB:Database Password="";"+
"Jet OLEDB:Engine Type=5;"+
"Jet OLEDB:Database Locking Mode=1;"+
"Jet OLEDB:Global Partial Bulk Ops=2;"+
"Jet OLEDB:Global Bulk Transactions=1;"+
"Jet OLEDB:New Database Password="";"+
"Jet OLEDB:Create System Database=False;"+
"Jet OLEDB:Encrypt Database=False;"+
"Jet OLEDB:Don""+{вот тут еще ап-остров в слове don"t мешает, поэтому поставил там кавычку. Это считается ошибкой?}
"t Copy Locale on Compact=False;"+
"Jet OLEDB:Compact Without Replica Repair=False;"+
"Jet OLEDB:SFP=False";
DataConnection.Connected:=true;
spQuestions.Active:=true;
end;
где затуп, блин. вываливается ошибка невозможно найти устанавливаемый ISAM


 
Johnmen ©   (2005-12-07 17:12) [1]

Где затупил, не знаю, стандартно пишется так:
if OpenDialog1.Execute then begin
...
 end;


 
msguns ©   (2005-12-07 17:16) [2]

procedure TMainForm.FormShow(Sender: TObject);
begin
    Path_To_Database := ReadString("DATABASE","Path_To_DataBase",GetCurrentDir+CMAIN_DATABASEFILENAME);
end;

...

procedure TfrmSettings.spbSelDBClick(Sender: TObject);
begin
 with TOpenDialog.Create(Self) do
   begin
    FileName := ExtractFileName(edDataBaseFile.Text);
    InitialDir := ExtractFilePath(edDataBaseFile.Text);
    Filter := "Файлы Access (*.mdb)|*.MDB";
    if Execute then
      begin
       edDataBaseFile.Text := FileName;
      end;
    Free;
   end;
end;

procedure TfrmSettings.spbSaveSetClick(Sender: TObject);
begin
 MainForm.Path_To_Database := edDataBaseFile.Text;
end;

...

function TdmLibr.DB_Open: boolean;
begin
 result := true;
 with cnLibr do
   if not Connected then
     try
      ConnectionString := "Provider=Microsoft.Jet.OLEDB.4.0;"+
                          "Data Source="+MainForm.Path_To_Database+";"+
                          "Persist Security Info=False";
      Open;
     except
      result := false;
     end;
end;


 
Плохиш ©   (2005-12-07 17:19) [3]


> "Jet OLEDB:Don""+{вот тут еще ап-остров в слове don"t мешает,
>  поэтому поставил там кавычку. Это считается ошибкой?}

Конечно! Учите матчасть, чтобы апостров должен дублироваться.
ну и [1] тоже


 
msguns ©   (2005-12-07 17:19) [4]

Пардон:

procedure TMainForm.App_MainSettings_Load;
begin
 with TIniFile.Create(GetCurrentDir+"\"+CMAIN_INIFILENAME) do
  begin
    Path_To_Database := ReadString("DATABASE","Path_To_DataBase",GetCurrentDir+CMAIN_DATABASEFILENAME);
    Free;
  end;
end;



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.051 c
15-1136971225
Loginov Dmitry
2006-01-11 12:20
2006.02.05
Работа с массивами


15-1137360241
Bogdan1024
2006-01-16 00:24
2006.02.05
Шпоргалки


15-1137508509
JLes
2006-01-17 17:35
2006.02.05
Delphi 2005 и Help (HxS/HxI-файлы)


9-1124403540
ConferNo
2005-08-19 02:19
2006.02.05
GLScene Lightmaps


1-1136474561
Pavel__
2006-01-05 18:22
2006.02.05
Во время показа модальной формы, узнать что щелкнули...




   Наверх