Delphi i Database
5 отговора
291 прегледа
Delphi i Database
Zdraveite, kazvam se Kristina i sym zatynala do gusha v Delphi, neznam veche kvo da pravq!
Ako nqkoi moje da mi pomogne shte sym mu mnogo blagodarna!
Problema mi e sledniq:
Imam dadena Baza danni (Access-ka) i sym napravila edno prilojenie pod delphi, v koeto iskam da izvadq spisyka na tablicite ot bazata v List box-a, rovih v Helpa i mi popadna nqkakyv class TSession obache i s nego nishto ne mojah da napravq, trqbva da stane bez ADO!
Kakvo da pravq??
Ako nqkoi moje da mi pomogne shte sym mu mnogo blagodarna!
Problema mi e sledniq:
Imam dadena Baza danni (Access-ka) i sym napravila edno prilojenie pod delphi, v koeto iskam da izvadq spisyka na tablicite ot bazata v List box-a, rovih v Helpa i mi popadna nqkakyv class TSession obache i s nego nishto ne mojah da napravq, trqbva da stane bez ADO!
Kakvo da pravq??
Re: Delphi i Database
Значи Кристина от Делфи 5 нагоре си има контроли за ADO (ADOConnection, ADOTable, ADOQuery и т.н.) използвай тях 
---
Сънуваш ли баница - яж!
ShadowM
---
Сънуваш ли баница - яж!
ShadowM
Re: Delphi i Database
Ами може да ги получиш и ако ползваш BDE-то на този адерс има пример. Другият начин ако нямаш ADO е да си импортираш ActiveX а на micro$oft и да ползваш ADO-то от там.
Ето го примера:
procedure TForm1.Button1Click(Sender: TObject);
var
db1: TDatabase;
hCursor: hDBICur; // Cursor for table and query names
ListDesc: TBLBaseDesc; // Record of the cursor
begin
ListBox1.Clear;
db1 := nil;
try
db1 := TDatabase.Create(nil);
// Set the neccessary properties to open your database
db1.DatabaseName := 'Access_ODBC_Test';
db1.LoginPrompt := False;
db1.Connected := True;
// Generates a cursor with all table and query names
Check(DbiOpenTableList(db1.Handle, False, False, '*', hCursor));
// Move thru the records of the cursor to get the names
while (DbiGetNextRecord(hCursor, dbiNOLOCK, @ListDesc, nil)
= dbiErr_None) do
if ListDesc.bView then // Is it a query?
ListBox1.Items.Add(ListDesc.szName + ' (Query)')
else
ListBox1.Items.Add(ListDesc.szName + ' (Table)');
// Close the cursor
dbiCloseCursor(hCursor);
db1.Connected := False;
except
db1.Free;
raise;
end;
db1.Free;
end;
Колкото до TSession, Help-a казва:
MyStringList := TStringList.Create;
try
Session.GetTableNames('DBDEMOS', '*.db',False, False, MyStringList);
{ Add the table names to a list box }
ListBox1.Items = MyStringList;
finally
MyStringList.Free;
end;
AquilaX
Ето го примера:
procedure TForm1.Button1Click(Sender: TObject);
var
db1: TDatabase;
hCursor: hDBICur; // Cursor for table and query names
ListDesc: TBLBaseDesc; // Record of the cursor
begin
ListBox1.Clear;
db1 := nil;
try
db1 := TDatabase.Create(nil);
// Set the neccessary properties to open your database
db1.DatabaseName := 'Access_ODBC_Test';
db1.LoginPrompt := False;
db1.Connected := True;
// Generates a cursor with all table and query names
Check(DbiOpenTableList(db1.Handle, False, False, '*', hCursor));
// Move thru the records of the cursor to get the names
while (DbiGetNextRecord(hCursor, dbiNOLOCK, @ListDesc, nil)
= dbiErr_None) do
if ListDesc.bView then // Is it a query?
ListBox1.Items.Add(ListDesc.szName + ' (Query)')
else
ListBox1.Items.Add(ListDesc.szName + ' (Table)');
// Close the cursor
dbiCloseCursor(hCursor);
db1.Connected := False;
except
db1.Free;
raise;
end;
db1.Free;
end;
Колкото до TSession, Help-a казва:
MyStringList := TStringList.Create;
try
Session.GetTableNames('DBDEMOS', '*.db',False, False, MyStringList);
{ Add the table names to a list box }
ListBox1.Items = MyStringList;
finally
MyStringList.Free;
end;
AquilaX
Редактирано от AquilaX на
kod
imash predwid da se se polzwa BDE za dostyp do dannite li? ako e taka:
1. slagash si Databas komponenta wyw formata
2. na Alias Name i zadawash alias-a kojto predwaritelno prawish za bazata danni w bde admin-a
3. na mqstoto kydeto iskash da ti se popylni listbox-a pishesh:
Database1.GetTableNames(ListBox1.items);
kydeto: Database1 ti e imeto na komponentata Database
ListBox1 ti e imeto na listbox komponentata
Ako e towa koeto tyrsish, oba4e neshto ne se polu4awa - moga da ti pratq i primer, ako iskash.
ni shta!
1. slagash si Databas komponenta wyw formata
2. na Alias Name i zadawash alias-a kojto predwaritelno prawish za bazata danni w bde admin-a
3. na mqstoto kydeto iskash da ti se popylni listbox-a pishesh:
Database1.GetTableNames(ListBox1.items);
kydeto: Database1 ti e imeto na komponentata Database
ListBox1 ti e imeto na listbox komponentata
Ako e towa koeto tyrsish, oba4e neshto ne se polu4awa - moga da ti pratq i primer, ako iskash.
ni shta!