Merhaba Arkadaşlar;
Aldığım proje ödevine göre bilgisayarımdaki herhangi bir veritabanına(firebird veya interbase) kullanıcı adı ve şifre ile bağlanıp; bu veritabanındaki tabloları bir memoda (veya daha başka bir araç ile) listeletip, bu tablolardan birini tıklayarak, tabloların içindeki kolonların adını, bu alanların veritipini ve boyutunu ayrı bir bölümde tablo halinde listeletmek istiyorum.
Delphi hakkında çok bilgim yok. Nasıl yapacağım hakkında yardımcı olursanız, yardımlarınızı da ayrıntılı bir şekilde verirseniz çok sevinirim. Teşekkürler!...
NOT : Nasıl birşey olcağını anlayamayan olursa projenin taslağını koyabilirim!..
Veritabanındaki tabloları ve içeriklerini listeletme(Yardım)
Veritabanındaki tabloları ve içeriklerini listeletme(Yardım)
En son legend tarafından 08 Oca 2008 07:13 tarihinde düzenlendi, toplamda 2 kere düzenlendi.
herhangi vt den kastın mysqlmi ms sql server mı fb mi accessmi.
VTYS sistemlerinin en buyuk özelliği
vt lerin
tabloların
alanların
liste ve yapısının da bir vt de tutulmasıdır.
bakınız codd un 12 kuralı. kısaca mümkündür ama hangi db..
VTYS sistemlerinin en buyuk özelliği
vt lerin
tabloların
alanların
liste ve yapısının da bir vt de tutulmasıdır.
bakınız codd un 12 kuralı. kısaca mümkündür ama hangi db..
Kişi odur ki, koyar dünyada bir eser. Eseri olmayanın yerinde yeller eser./Muhammed Hadimi
http://www.ibrahimkutluay.net
http://www.ibrahimkutluay.net/blog
http://www.ibrahimkutluay.net
http://www.ibrahimkutluay.net/blog
- White Rose
- Üye
- Mesajlar: 726
- Kayıt: 06 Tem 2005 09:41
- Konum: Güneyden
- İletişim:
Şöyle birşey işinizi görür mü, geliştirmeye açık ve basit bir program

Download
http://rapidshare.com/files/81963388/Sq ... r.rar.html
Forma birer adet database, transaction, dataset, datasource, stringgrid, memo, buton, opendialog ile 2 adet combobox ekleyin.
Database, transaction,dataset,datasource bağlantılarını yapın.
Aşağıdaki eventleri oluşturun.
Yalnız kodlar fibplus'a göre olup, eğer kod tanımında problem olursa siz bunları interbase bileşenlerine göre değiştirin.

Download
http://rapidshare.com/files/81963388/Sq ... r.rar.html
Forma birer adet database, transaction, dataset, datasource, stringgrid, memo, buton, opendialog ile 2 adet combobox ekleyin.
Database, transaction,dataset,datasource bağlantılarını yapın.
Aşağıdaki eventleri oluşturun.
Yalnız kodlar fibplus'a göre olup, eğer kod tanımında problem olursa siz bunları interbase bileşenlerine göre değiştirin.
Kod: Tümünü seç
procedure TAnaform.Btn_DataClick(Sender: TObject);
begin
If OD.Execute Then // Opendialog
Edt_Data.Text:=OD.FileName;
If VT.Connected Then VT.Connected:=False;
VT.DatabaseName:=Edt_Data.Text;
VT.ConnectParams.UserName:='SYSDBA';
VT.ConnectParams.Password:='masterkey';
Try
Vt.Connected:=TRue;
Except
Showmessage('Veritabanı açılamadı...');
End;
If VT.Connected Then TS.Active:=TRue;
VT.GetTableNames(Cbx_Table.Items, False);
Cbx_Table.ItemIndex:=0;
end;
procedure TAnaform.Btn_KapatClick(Sender: TObject);
begin
close;
end;
procedure TAnaform.FormClose(Sender: TObject; var Action: TCloseAction);
begin
VT.Connected:=False;
end;
procedure TAnaform.FormShow(Sender: TObject);
begin
Grid.Cells[0,0]:='ALAN ADI';
Grid.Cells[1,0]:='TİPİ';
Grid.Cells[2,0]:='UZUNLUĞU';
end;
procedure TAnaform.Cbx_TableChange(Sender: TObject);
var
I,X:Integer;
S:Variant;
begin
VT.GetFieldNames(Cbx_Table.Text,Cbx_Alan.Items,True);
Cbx_Alan.ItemIndex:=0;
Grid.RowCount:=Cbx_Alan.Items.Count+1;
IF DS.Active tHEN DS.Close;
DS.SQLs.SelectSQL.Text:='Select * from '+Cbx_Table.Items[Cbx_Table.Itemindex];
DS.Open;
For I:=0 To Cbx_Alan.Items.Count-1 do begin
Grid.Cells[0,I+1]:=DS.FieldDefs.Items[I].Name;
S:=DS.FieldDefs.Items[I].datatype;
X:=S;
Grid.Cells[1,I+1]:=AlanTipi(X);
Grid.Cells[2,I+1]:=inttostr(DS.FieldDefs.Items[I].Size);
End;
end;
function TAnaform.AlanTipi(Gelen:Integer):String;
Begin
Case Gelen Of
1:Result:='VARCHAR';
2:Result:='SMALLINTEGER';
3:Result:='INTEGER';
4:Result:='4-----';
5:Result:='5-----';
6:Result:='DOUBLE PRECISION';
7:Result:='7----';
8:Result:='BIGINTEGER';
9:Result:='DATE';
10:Result:='TIME';
11:Result:='TIMESTAMP';
12:Result:='12-----';
13:Result:='13-----';
14:Result:='14-----';
15:Result:='BLOB BINARY';
16:Result:='BLOB TEXT';
Else
Result:='TANIMSIZ';
End;
end;
- White Rose
- Üye
- Mesajlar: 726
- Kayıt: 06 Tem 2005 09:41
- Konum: Güneyden
- İletişim: