![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
подключение с помощью Opendialog [D7, access]
Boxer © (2005-12-07 17:02:00)задача состоит в том, чтобы создать независимое подключение приложения-клиента к базе.
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
Плохиш (2005-12-07 17:19:00) [1]
> 'Jet OLEDB:Don"'+{вот тут еще ап-остров в слове don't мешает,
> поэтому поставил там кавычку. Это считается ошибкой?}
Конечно! Учите матчасть, чтобы апостров должен дублироваться.
ну и [1] тоже
msguns (2005-12-07 17:19:00) [2]Пардон:
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;
msguns (2005-12-07 17:16:00) [3]
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;
Johnmen (2005-12-07 17:12:00) [4]Где затупил, не знаю, стандартно пишется так:
if OpenDialog1.Execute then begin
...
end;