Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как открыть базу зная имя? [D6]


ALLON ©   (2007-04-19 00:18:00) 

Есть код - но по нему невидна базы  *.mdb,
хотя диалог появляется

var
 lADOQuery: TADOQuery;
 lUniqueNumber: Integer;
begin
 if Trim(EditTextBox.Text) <> '' then
   begin
     lADOQuery := TADOQuery.Create(nil);
     with lADOQuery do
       begin
         ConnectionString := Global_DBConnection_String;
         SQL.Text :=
           'SELECT Number from Users';
         Open;
         Last;
     // Generate Unique Number (AutoNumber in Access)
         lUniqueNumber := 1 + StrToInt(FieldByName('Number').AsString);

где
Global_DBConnection_String :=
   'Provider=Microsoft.Jet.OLEDB.4.0;' +
   'Data Source=' + lDBPathName + ';' +
   'Persist Security Info=False;' +
   'Jet OLEDB:Database Password=' + lsDBPassword;
         Close;


А надо открыть уже известную базу, без всяких диалогов,
открыть и работать с указанной таблицой BAZE

выкопал код с форума - говорят работает,но
начала нет что открыват? какую таблицу

adoquery1.open;
adoquery1.sql.text:='insert into base values (1, 2, 3)';
adoquery1.execsql;


ALLON   (2007-04-19 18:57:00) [1]

[5]
да делаю как можно проще
.udl- впервые слышу

за статью спасибо читаю, и попробую


Kostafey   (2007-04-19 13:23:00) [2]

То есть тебе просто нужно подключится к *.mdb - файлу?

Лучше сделай подключение через ADOConnection.
Его свойство ConnectionString удобно считывать из .udl- файла.
Свойства Connection компонентов ADODataSet (ADOTable) настраиваешь
на ADOConnection.

А вообще:
http://delphikingdom.ru/asp/viewitem.asp?catalogid=408
(сам недавно читал)


ALLON   (2007-04-19 11:57:00) [3]

[1] необходимости нет, для этого и создал отдельно в Access
новый файл-новая базаdb1.mdb конструктор
первое поле Count - счетчик
второе Name  - текстовое 255
третье Size - текстовое 20

Имя таблицы WIN, ключевые поля не заданы

открываю так и ничего не делаю ,там автоматом создается db1.ldb
если закрыть приложение
выскакивает табличка ошибка оле - BOF или EOF имеет значение True

procedure TForm1.ConnectToAccessDB(lDBPathName, lsDBPassword: string);
begin
 Global_DBConnection_String :=
   'Provider=Microsoft.Jet.OLEDB.4.0;' +
   'Data Source=' + lDBPathName + ';' +
   'Persist Security Info=False;' +
   'Jet OLEDB:Database Password=' + lsDBPassword;

 with ADOTable1 do
   begin
     ConnectionString := Global_DBConnection_String;
     TableName := 'WIN';
     Active := True;
   end;
end;

function TForm1.AddLog(s1,s2:string):bool;
begin
//ADOTable1.SQL.Text := 'INSERT INTO Users Values ( s1,s2);
end;

procedure TForm1.Button1Click(Sender: TObject);
var
i:integer;
s,s2,FF:string;
d:integer;
begin
FileListBox1.Directory:='C:\WINDOWS';
FileListBox1.Mask:='*.dll';
FileListBox1.Update;
FF:='c:\db1.mdb';
ConnectToAccessDB(FF,''); // open
For i:=0 to FileListBox1.Items.Count-1 do begin
s:=FileListBox1.Items.Strings[i];
//d:=FileSize(f
//str(d,s);
//s2:=s+' bytes';
s2:='test size';
AddLog(s,s2);
end;
end;


DrPass   (2007-04-19 11:13:00) [4]


> выкопал код с форума - говорят работает

На форуме и не такое могут сказать...


Johnmen   (2007-04-19 08:57:00) [5]


>          Last;
>      // Generate Unique Number (AutoNumber in Access)   
>        lUniqueNumber := 1 + StrToInt(FieldByName('Number').
> AsString);

Это прикол?


Kostafey   (2007-04-19 00:55:00) [6]

> var
> lADOQuery: TADOQuery
> lADOQuery := TADOQuery.Create(nil);

А в чем необходимость создавать набор данных Run-Time ?


> выкопал код с форума - говорят работает,но
> начала нет что открыват? какую таблицу
>
> adoquery1.open;
> adoquery1.sql.text:='insert into base values (1, 2, 3)';
>
> adoquery1.execsql;

Это шутка?


Наверх

Титульная страница Поиск, карта сайта Написать письмо