İyinet'e Hoşgeldiniz!

Türkiye'nin En Eski Webmaster Forum'una Hemen Kayıt Olun!

Kayıt Ol!

programın çalışırken veritabanı oluşturması

A

Anonymous

Misafir
slm arkadaşlar;
amacım yapacağım programın istenilen fieldlar verilince o
fieldları barındıran veritabanı dosyası kendisi oluşturması.

örneğin: bazı programlar ilk çalıştırıldığında daha hiçbir veri olmadığı için veri tabanı da olmadığından "veri tabanı dosyası yok. oluşturulsun mu?" gibi seçenekler sunuyor. sanırım demek istrediğimi anlatmışımdır.

böylece programı taşırken yanında veri tabanı dosyalarını da taşımak zorunda kalmayacağım. aslında ondan da önemlisi yeni bir mal geldiğinde o malın cinsine ait özellikleri barındıran bir veri tabanı oluşturabileceğim.

bir bilgisayar firmasını düşünün. hep aynı donanım çesitlerini (anakart, cdrom vs) barındıracak değil. mesela anakart.dbf'de anakartları özelliği bulunur (marka,model,FSB vs.) ama ya yeni bir ürün çıktığında? mesela firma artık sadece bilgisayar ürünlerini değil de elektronik ürünleri de satcaksa o zaman bir de fieldları kullanıcı tarafından girilecek yeni bir dbf dosyası lazım. işte benim derdim de bu.

yardımcı olursanız sevinmekle kalmayıp, büyük bi dertten de kurtulmuş olurum.
byes..
 
A

Anonymous

Misafir
SELAM RAMAZAN DOSTUM ELİMDE KODLAR VAR MAİLİNE ENKISA SÜRE ATARIM

:))
 
A

Anonymous

Misafir
slm ortak, mailini 4 gözle bekliyorum (gerçi artık gözlük kullanmıyorum ama bu seferkini lafın gelişine söyledim say:)) )

byes...
 
A

Anonymous

Misafir
E-MAILIME ATABILIRMISIN DOSTUM BEKLIYDRUM.TEŞEKÜRLER
 
A

Anonymous

Misafir
procedure createDbTable(FileName:string);
var
Table1:TTABLE;
begin
Table1:=TTable.Create(Application);
Try
with Table1 do
begin
Active := false;
DatabaseName := Directory;
TableName := filename;
TableType := ttParadox;

With FieldDefs do
Begin
Clear;
Add('SIRA', ftNumeric, 0, False);
Add('GELIRAD', ftString, 50, False);
End;

With IndexDefs do
Begin
Clear;
Add('', 'SIRA', [ixPrimary,ixUnique]);
Add('GELIRADX', 'GELIRAD', [ixCaseInsensitive]);
End;
CreateTable;
End;
except
On EDatabaseError do
ShowMessage('Tablo oluşumunda hata!...');
end;

end;
 
A

Anonymous

Misafir
Bu daha kısa bir örnek olur zannedersem :

.
.
.

Function Degisken(degadi,degtur:string;uzn,desim:integer) : String;
Var
st2:string;
Begin
ST2:=degadi;
if degtur='C' Then St2:=St2+' CHAR('+inttostr(uzn)+')' Else
if degtur='N' Then St2:=St2+' NUMERIC('+inttostr(uzn) Else
if degtur='F' Then St2:=St2+' FLOAT('+inttostr(uzn) Else
if degtur='L' Then St2:=St2+' BOOLEAN' Else
if degtur='D' Then St2:=St2+' DATE' Else
if degtur='T' Then St2:=St2+' TIME' Else
if degtur='M' Then St2:=St2+' BLOB('+inttostr(uzn)+',1)';
if degtur='N') Or (if degtur='F') Then
if desim>0 Then St2:=St2+','+inttostr(Desim)+')'
Degisken:=ST2; { Result:=ST2; şeklindede olur}
End;

Begin
Query1.Databasename:='c:\stok'; {c sürücüsünde açılmış bir alt dizin}
Query1.SQL.Clear;
Query1.SQL.Add('CREATE TABLE "yeni.dbf");
Query1.SQL.Add('(');
Query1.SQL.Add(Degisken('adi','C',30,0)+',');
Query1.SQL.Add(Degisken('soyadi','C',30,0)+',');
Query1.SQL.Add(Degisken('kaytar','D',0,0)+',');
Query1.SQL.Add(Degisken('maas','F',14,0)+',');
Query1.SQL.Add(Degisken('gozlukno','F',5,3)+',');
Query1.SQL.Add(')');
GDM.Query1.ExecSQL;

{index oluşturma...}

Query1.SQL.Clear; {ADI na indexleme }
Query1.SQL.Add('CREATE INDEX ADI ON "yeni.dbf" (ADI)');
Try
Query1.ExecSQL;
except
{except işlemleri};
end;
Query1.SQL.Add('CREATE INDEX SOYADI ON "yeni.dbf" (SOYADI)'); {SOYAD ına indexleme }
Try
Query1.ExecSQL;
except
{except işlemleri};
end;

End;

Daha yalın ve kolay anlaşılır..hata kontrolüne daha müsait bir yapıu olmasından dolayı ben SQL tercih ediyorum..

Kolay gelsin...
 

Türkiye’nin ilk webmaster forum sitesi iyinet.com'da forum üyeleri tarafından yapılan tüm paylaşımlardan; Türk Ceza Kanunu’nun 20. Maddesinin, 5651 Sayılı Kanununun 4. maddesinin 2. fıkrasına göre, paylaşım yapan üyeler sorumludur.

Backlink ve Tanıtım Yazısı için iletişime geçmek için Skype Adresimiz: .cid.1580508955483fe5

Üst