Mega Code Archive

 
Categories / Delphi / Ide Indy
 

Calışma zamanı alan ekleme

merhaba kendi programımda ihtiyacım oldu. İhtiyacı olan arkadaşlarla paylaşmak istedim. özellikle çok boyutlu excel benzeri tablolarda birden fazla alan vardır. elle belli bir yere kadar alan eklersiniz. Özlellikle sonradan eklenmesi gereken alanlar( Ders1,ders2,ders3 vs.. yani istediğiniz kadar kodla ders alanı). fakat programınız kullanıcıya göre göreceli ile programın çalışma anında alan eklemek ve programı bile kapatmadan oluşturduğunuz alanlarla işlem yapabilirsiniz. sql kullanarak kısa ve hatasız bir kodla bu işi halledebilirsiniz. bu örnekte ders1,ders2 vs. istenen sayıda ders alanı eklenecektir. bunun için bir adet Query1 nesnesini forma yerleştirin ve birtane de command1 düğmesini ekleyin. kodlar aşağıdaki gibi olacaktır. --------------------------------------------------------- procedure TForm1.Button1Click(Sender: TObject); var a:integer; begin for a:=1 to 30 do //30 tane ders alanı eklenecek bunun sayısı istediğiniz kadar olabilir. begin { program çalışırken "error creating handle" hatası verecek ama alanı oluşturacaktır.Hatayı göstermemek için try deyimini kullanırsak hiçbir sorun kalmayacaktır.} try Query1.close; Query1.SQL.Clear; Query1.SQL.Add('ALTER TABLE Okul ADD COLUMN Ders'+inttostr(a)+' char (20)'); Query1.Open; except Query1.close; //hata mesajı verecektir. bunu kaybetmek için veritabanını kapat. end; end; end; ---------------------------------------------------------- yukarıdaki kod, Okul.db dosyasına ders1,ders2,..,ders30 CHAR tipinde ve alan boyutu 20 olan alanları ekleyecektir.