ADOTable'daki FieldList'e göre Table oluşturma
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
ADOTable'daki FieldList'e göre Table oluşturma
Biliyorsunuz ADOTable'ın CreateTable metodu yok. Acaba FieldList'ten o tabloyu create edebilecek bir sql deyimi oluşturan hazır kod var mıdır? Veritabanı MS-SQL 2000.
C. Sunguray
csunguray at netbilisim.kom
Net Bilişim Hizmetleri
Sıradan her programcı bilgisayarın anlayabileceği kodlar yazabilir.
Sadece iyi programcılar insanların da anlayabileceği kodlar yazarlar.
Martin Fowler (http://martinfowler.com/)
csunguray at netbilisim.kom
Net Bilişim Hizmetleri
Sıradan her programcı bilgisayarın anlayabileceği kodlar yazabilir.
Sadece iyi programcılar insanların da anlayabileceği kodlar yazarlar.
Martin Fowler (http://martinfowler.com/)
Evet oluşturabilirim. Zaten sorum da bu. Bu SQL deyimini otomatik oluşturacak hazır kodunuz var mı? Olmazsa kendim yazacağım.AdoQuery nesnesini kullanarak SQL komutları yardımıyla tablo oluşturabilirsiniz.
Bu kadar genel düzeydeki anahtar kelimelerle böyle bir sonuca ulaşabileceğimi sanmıyorum.Create table MSSQL diye aratin
C. Sunguray
csunguray at netbilisim.kom
Net Bilişim Hizmetleri
Sıradan her programcı bilgisayarın anlayabileceği kodlar yazabilir.
Sadece iyi programcılar insanların da anlayabileceği kodlar yazarlar.
Martin Fowler (http://martinfowler.com/)
csunguray at netbilisim.kom
Net Bilişim Hizmetleri
Sıradan her programcı bilgisayarın anlayabileceği kodlar yazabilir.
Sadece iyi programcılar insanların da anlayabileceği kodlar yazarlar.
Martin Fowler (http://martinfowler.com/)
- Otomatik bir yazılım mutlaka vardır ancak yapacağın işlem çok basit olduğundan zaman kaybından öte gitmeyecektir.
- Projelendirdiğim veritabanı bazlı yazılımlarda bir unit daima bulunur. Bu unit'in adını Structures.PAS olarak adlandırırım.
- Bu unit içerisinde veritabanı tablolarımın yapısal içeriğini her tablo için bağımsız olarak bulundururum. Lazım olduğunda buradan çağırırım.
- Her tablo için bunun gibi bir procedure bulundururum.
- Şimdi bunları nasıl kullanıyorum. Tablo oluşturmak istediğimde aşağıdaki kurguyu barındırdığım procedure içerisinden çağırarak. KomutListesini dinamik verdiğinde her tablo için aynı aşağıdaki kurguyu çalıştırabilirsin. KomutListesi içinde ne varsa ( create, drop vs. ) execute edilecek ve hayata geçecektir.
- Projelendirdiğim veritabanı bazlı yazılımlarda bir unit daima bulunur. Bu unit'in adını Structures.PAS olarak adlandırırım.
- Bu unit içerisinde veritabanı tablolarımın yapısal içeriğini her tablo için bağımsız olarak bulundururum. Lazım olduğunda buradan çağırırım.
- Her tablo için bunun gibi bir procedure bulundururum.
Kod: Tümünü seç
Procedure StrucOlustur_Tablo1(KomutListesi : TStringList);
Const
FieldTanimi = '%s %s(%d),';
FieldTanimiDate = '%s %s,';
begin
{ --- Table Structure --- }
With KomutListesi do
begin
Clear;
Add( 'CREATE TABLE Tablo1 (');
Add( Format(FieldTanimiDate, ['S_KaySiraNo' ,'AutoIncrement', 0 ] ) );
Add( Format(FieldTanimiDate, ['S_SerieId' ,'Numeric', 0 ] ) );
Add( Format(FieldTanimiDate, ['S_MovieId' ,'Numeric', 0 ] ) );
Add( Format(FieldTanimi, ['S_Ses' ,'Text', 3 ] ) );
Add( Format(FieldTanimi, ['S_EpNum' ,'Text', 3 ] ) );
Add( Format(FieldTanimi, ['S_EpName' ,'Text', 100 ] ) );
KomutListesi[KomutListesi.Count-1] := Copy(KomutListesi[KomutListesi.Count-1], 1, Length(KomutListesi[KomutListesi.Count-1])-1); // Son Virgülü Attık
Add( ')');
end;
end;
Kod: Tümünü seç
Var
AdoCommand : TADOCommand;
KomutListesi : TStringList;
begin
AdoCommand := TADOCommand.Create(Self);
AdoCommand.Connection := AdoConnection_seninki;
KomutListesi := TStringList.Create;
StrucOlustur_Tablo1( KomutListesi );
ADOCommand.CommandText:= KomutListesi.Text;
KomutListesi.Free;
ADOCommand.Prepared := true;
ADOCommand.Execute;
ADOCommand.Free;
end;
torryda table to sql gibi bir tool vardı. tabloları oluşturuan sql kodunu veriyordu. tip analizini kendi yaparak. bir vt için komple pascal unititni verebilenide vardı ama detaylı adını şimdi hatırlamıyorumcsunguray yazdı:Evet oluşturabilirim. Zaten sorum da bu. Bu SQL deyimini otomatik oluşturacak hazır kodunuz var mı? Olmazsa kendim yazacağım.AdoQuery nesnesini kullanarak SQL komutları yardımıyla tablo oluşturabilirsiniz.
Bu kadar genel düzeydeki anahtar kelimelerle böyle bir sonucaCreate table MSSQL diye aratin
ulaşabileceğimi sanmıyorum.
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