Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
Otomatik Veritabanı Oluşturma
#1
Merhaba arkadaşlar delphi 7 de bir program yazdım firebird veritabanı kullanıyorum.Daha önce görmüş olduğum bir programdan esinlenerek kullanıcı giriş ekranına girişden ziyade birde veritabanı oluşturma ve bağlanma bölümü koydum ama sadece koymakla yetinebildim çümkü çok aramama rağmen bana yardımcı olacak kodu bulamadım.Kısacası sizden istediğim giriş ekranının veri tabanı bölümüne geçtiğimde edit nesnesine girilen benim istediğim bir isimle butona bastığımda veritabanı otomatik oluşturulsun ve bağlantısı yapılsın. bunu nasıl yapabilirim buna benzer  örnek kodlarınız ya da projeniz varsa benimle paylaşırsanız çok mutlu olurum. Yardımlarınız için şimdiden teşekkür ediyorum.
Cevapla
#2
(22-03-2020, Saat: 14:33)bnyamin86 Adlı Kullanıcıdan Alıntı: Merhaba arkadaşlar delphi 7 de bir program yazdım firebird veritabanı kullanıyorum.Daha önce görmüş olduğum bir programdan esinlenerek kullanıcı giriş ekranına girişden ziyade birde veritabanı oluşturma ve bağlanma bölümü koydum ama sadece koymakla yetinebildim çümkü çok aramama rağmen bana yardımcı olacak kodu bulamadım.Kısacası sizden istediğim giriş ekranının veri tabanı bölümüne geçtiğimde edit nesnesine girilen benim istediğim bir isimle butona bastığımda veritabanı otomatik oluşturulsun ve bağlantısı yapılsın. bunu nasıl yapabilirim buna benzer  örnek kodlarınız ya da projeniz varsa benimle paylaşırsanız çok mutlu olurum. Yardımlarınız için şimdiden teşekkür ediyorum.

Merhaba

Eğer db yoksa Firedac componentleri create edemiyor. Sizin db taşımanız gerekebilir.
Firebird SQLite gibi db create etmedi benim denemmde de.

5F7YTh.png


eğer dosyayı da taşırsanız işaretli ayarları yapıp bağlanabilirsiniz.
bK4c7j.png
Genelde telefondan ingilizce klavye ile ileti gönderiyorum.
Cevapla
#3
Dos ekranı açıp aşağıdaki linkdeki SQL kodları ile yapabilirsiniz diye düşünüyorm.

https://firebirdsql.org/manual/qsg10-creating.html
// Bilgi paylaştıkça çoğalır.. 

Cevapla
#4
burada bir örnek paylaşmıştım https://www.delphican.com/showthread.php...B#pid26236

“Do. Or do not. There is no try.”
Cevapla
#5
(23-03-2020, Saat: 09:02)masteryoda Adlı Kullanıcıdan Alıntı: burada bir örnek paylaşmıştım https://www.delphican.com/showthread.php...B#pid26236

Guzel calisma olmus faydalanalim.
Genelde telefondan ingilizce klavye ile ileti gönderiyorum.
Cevapla
#6
Arkadaşlar hepinize yardımlarınız için çok teşekkür ediyorum ben tam olarak yapmak istediğim kodları buldum fakat çalıştırdığımda şöyle bir hata alıyorum.'Unavailable Database' nerde hata yapmış olabilirim. Acemi düzeyde olduğumdan çözemedim bir türlü.

procedure TOlustur.SpeedButton1Click(Sender: TObject);
var
Yol:String;
Begin
Yol:=GetCurrentDir+'\'+Edit1.Text+'.GDB';  //Veritabanı adı hazırlanıyor

//Database ayarlanıyor
       IBDatabase1.DataBaseName:=Yol;;
       IBDatabase1.SQLDialect:=3;
       IBDatabase1.LoginPrompt:=False;

//Database Oluşturuluyor
       IBDatabase1.CreateDatabase;

//Database oluşturuldu artık table,view,generator ve stored procedure oluşturmaya geçebiliriz.
//Parametreler yenileniyor Normal bağlantı parametrelerine dönülüyor.
       IBDatabase1.Connected:=False;
       IBDatabase1.Params.Values['User_Name']:='SYSDBA';
       IBDatabase1.Params.Values['PassWord']:='masterkey';
       IBDatabase1.Params.Values['lc_ctype']:='WIN1254';
//Database Connect ediliyor
       IBDatabase1.Connected:=True;
//Transaction Active ediliyor..
       IbTransaction1.Active:=True; 

//Table,index, view,generator ve stored procedurelerden 1 er tane örnek vereceğim
//Table oluşturuluyor

Try
IBSQL1.Close;

IBSQL1.SQL.Clear;
IBSQL1.SQL.Add('CREATE TABLE "VASIF" ("KNO" DOUBLE PRECISION NOT NULL,');
IBSQL1.SQL.Add('"VASIFLAR" VARCHAR(50) CHARACTER SET WIN1254 COLLATE PXW_TURK,');
IBSQL1.SQL.Add('"YEVMIYE" DOUBLE PRECISION,');
IBSQL1.SQL.Add('"TRH" TIMESTAMP,');
IBSQL1.SQL.Add('PRIMARY KEY ("KNO"))');
IBSQL1.Prepare;
IBSQL1.ExecQuery;   //IBQuery kullanıyorsanız ExecQuery yerine ExecSQL yazacaksınız..
Finally
IBSQL1.Close;
end;

//İndex oluşturuluyor
Try
IBSQL1.Close;
IBSQL1.SQL.Clear;
IBSQL1.SQL.Add('CREATE INDEX VASIFLARX ON BELGE ("VASIFLAR")');
IBSQL1.Prepare;
IBSQL1.ExecQuery;   //IBQuery kullanıyorsanız ExecQuery yerine ExecSQL yazacaksınız..
Finally
IBSQL1.Close;
end;

//View oluşturuluyor
Try
IBSQL1.Close;
IBSQL1.SQL.Clear;
IBSQL1.SQL.Add('CREATE VIEW "TOPLA" ("KNO","YIL","AY","DN","ODESASGUN","ODESASMAT",');
IBSQL1.SQL.Add('"GELIRVRGMAT","GELIRVERGISI","PIRIM") AS ');
IBSQL1.SQL.Add('SELECT KIMLIK.KNO,BORDRO.YIL,BORDRO.AY,BORDRO.DN,BORDRO.ODESASGUN,');
IBSQL1.SQL.Add('BORDRO.ODESASMAT,BORDRO.GELIRVRGMAT,BORDRO.GELIRVERGISI,');
IBSQL1.SQL.Add('(BORDRO.SSKISVEREN+BORDRO.ISSIZKURUM+BORDRO.SSKISCI+BORDRO.ISSIZISCI) FROM BORDRO,KIMLIK');
IBSQL1.SQL.Add('WHERE KIMLIK.KNO=BORDRO.DETAYNO');
IBSQL1.Prepare;
IBSQL1.ExecQuery;  //IBQuery kullanıyorsanız ExecQuery yerine ExecSQL yazacaksınız..
Finally
IBSQL1.Close;
end;

//Generator oluşturuluyor
Try
IBSQL1.Close;
IBSQL1.SQL.Clear;
IBSQL1.SQL.Add('CREATE GENERATOR "VASIF_GEN"');
IBSQL1.Prepare;
IBSQL1.ExecQuery;  //IBQuery kullanıyorsanız ExecQuery yerine ExecSQL yazacaksınız..
Finally
IBSQL1.Close;
end;


//Stored Procedure oluşturuluyor autoinc field için
Try
IBSQL1.Close;
IBSQL1.SQL.Clear;
IBSQL1.SQL.Add('CREATE PROCEDURE "PROC_VASIF"');
IBSQL1.SQL.Add('RETURNS');
IBSQL1.SQL.Add('(');
IBSQL1.SQL.Add('  "NUM" INTEGER');
IBSQL1.SQL.Add(')');
IBSQL1.SQL.Add('AS');
IBSQL1.SQL.Add('BEGIN');
IBSQL1.SQL.Add('NUM = GEN_ID(VASIF_GEN,1);');
IBSQL1.SQL.Add('END');
IBSQL1.Prepare;
IBSQL1.ExecQuery;  //IBQuery kullanıyorsanız ExecQuery yerine ExecSQL yazacaksınız..
Finally
IBSQL1.Close;
end;

IBDatabase1.Connected:=False;
Cevapla
#7
Birşey söylemeyi unuttum bu kodlar interbase veritabanı için biliyorum önce bunu halledeyim daha sonra firebird için uyarlayacağım.
Cevapla
#8
Hocam Fiziksel olarak DB'yi oluşturmadan DB'ye bağlanmaya çalışıyorsunuz. ISQL ile DB Create edip deneyin.
// Bilgi paylaştıkça çoğalır.. 

Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  EFatura xml oluşturma ile ilgili kütüphane bilen? witalihakko 13 4.293 31-03-2020, Saat: 11:26
Son Yorum: akuyumcu63
  Veritabanı Bağlantı Sorunu MEDCEZİR 5 208 26-03-2020, Saat: 18:21
Son Yorum: SimaWB
  IDE hakkında sorular(F8 Debug,Otomatik tamamlama) 41linea41 6 315 10-03-2020, Saat: 20:07
Son Yorum: kodamelesi
  TByteDynArray'den Dosya Oluşturma enes6635 9 1.629 16-01-2020, Saat: 09:20
Son Yorum: SimaWB
  FireDac ile Mssql Veritabanı Adı sorunu serdar 9 928 15-01-2020, Saat: 23:22
Son Yorum: otonomi



Konuyu Okuyanlar: 1 Ziyaretçi