Kod ile Tablo Oluşturma

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
aydogan46
Üye
Mesajlar: 115
Kayıt: 11 Haz 2003 02:59
Konum: ankara
İletişim:

Kod ile Tablo Oluşturma

Mesaj gönderen aydogan46 »

Merhabalar;
Üzerinde çalıştığım bir projede, kullanıcı varsayılan database de tablo adını, alanları(sayısı ve özellikleri kullanıcıya özel) kendisi oluşturacak. örneğin bir kullanıcı ahmet adında bir tablo ve 4 tane alan adı ile bir tablo oluşturabilirken diğer bir kullanıcı daha farklı bir tablo oluşturabilir. Ben tabloyu oluşturabiliyorum. bi edit koydum oraya tablonun adını yazıyor ve tablo oluşuyor. Sorun şu; alan adlarını ve veri türlerini de dışarıdan paremetreyle gönderemiyorum. Örnek;

procedure TForm1.Button1Click(Sender: TObject);
var
tabloadi:string;
begin
tabloadi:=tbadi.Text;
table1.DatabaseName:='c:\data';
table1.TableType:=ttparadox;
table1.TableName:= tabloadi;
table1.FieldDefs.Add('Sicilno', ftinteger, 0, true);
table1.CreateTable;
showmessage('Tablo Oluşturuldu')
end;

aynı tabloya ikinci bir alan eklemek için ise şu kodu yazdım.
table1.FieldDefs.Add(alan.Text,tip.text ,uzunluk.text, gerekli.Text);
ve sorun burda başladı. nasıl bir yol izlemem lazım. yardımlarınız için teşekkür ederim.
ikutluay
Üye
Mesajlar: 2341
Kayıt: 03 Tem 2007 10:13

Mesaj gönderen ikutluay »

bir projede aradox kullanmayın. bu forumda kimse önermez.

bunun için en uygun önerim isi ttable degil tquery ve alter table ile yapmanızdır.
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
aydogan46
Üye
Mesajlar: 115
Kayıt: 11 Haz 2003 02:59
Konum: ankara
İletişim:

Mesaj gönderen aydogan46 »

paradox konusunda haklısınız bende zaten projelerimde kullanmıyorum. ama proje bir istatistik programı olacak. bunun içnde ya access yada paradox kullanmam gerek sanırım.
aydogan46
Üye
Mesajlar: 115
Kayıt: 11 Haz 2003 02:59
Konum: ankara
İletişim:

Mesaj gönderen aydogan46 »

biraz ugraşarak aşağıdaki kodla olayın bir kısmını çözdüm. kodu çalıştırdıgımda hata mesajı veriyor ama yinede tabloya istediğim alanı ekliyor.
procedure TForm2.Button1Click(Sender: TObject);
begin
Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Add('ALTER TABLE tablo1 ADD COLUMN ''+ edit1.Text +'' text(25)') ;
Query1. open;
end;
ikutluay
Üye
Mesajlar: 2341
Kayıt: 03 Tem 2007 10:13

Mesaj gönderen ikutluay »

open değil. execsql deyin. anladığım kadarıyla verdiği mesaj etkilenen kayıt yo türü bir mesaj.
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
aydogan46
Üye
Mesajlar: 115
Kayıt: 11 Haz 2003 02:59
Konum: ankara
İletişim:

Mesaj gönderen aydogan46 »

sonunda halloldu. teşekkür ederim.
ikutluay
Üye
Mesajlar: 2341
Kayıt: 03 Tem 2007 10:13

Mesaj gönderen ikutluay »

aydogan46 yazdı:sonunda halloldu. teşekkür ederim.
unutmayınki foruma üye olmayan ama arama ile buraya gelenler var. o yüzden bir sorun çözüldüğünde; çalışan halinide buraya koyuyoruzki insanlar faydalansın.

kanun değil tabii ama forum geleneği diyelim..
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
aydogan46
Üye
Mesajlar: 115
Kayıt: 11 Haz 2003 02:59
Konum: ankara
İletişim:

Mesaj gönderen aydogan46 »

canın sağolsun kardeş. biz bu siteden 2002 den beri yararlanmaktayız. http://www.mussimsek.com halinden beri takipcisiyiz. dediğin e katılıyorum . sadece yukarıdaki kod d a
Query1. open; yerine query1.execsql; yazılacak.
Cevapla