Kod: Tümünü seç
//KURUM Tablosu oluşturuluyor.
sorgu.Close;
sorgu.SQL.Clear;
sorgu.SQL.Add('CREATE TABLE "KURUM" ("SIRA" INTEGER NOT NULL,');
sorgu.SQL.Add('"KURUMADI" VARCHAR(50) CHARACTER SET WIN1254 COLLATE PXW_TURK,');
sorgu.SQL.Add('"MUDURADI" VARCHAR(30) CHARACTER SET WIN1254 COLLATE PXW_TURK,');
sorgu.SQL.Add('"MUDURYARADI" VARCHAR(30) CHARACTER SET WIN1254 COLLATE PXW_TURK,');
sorgu.SQL.Add('"OGRETIMYILI" VARCHAR(15) CHARACTER SET WIN1254 COLLATE PXW_TURK,');
sorgu.SQL.Add('"ILILCE" VARCHAR(50) CHARACTER SET WIN1254 COLLATE PXW_TURK,');
sorgu.SQL.Add('"TELEFON" VARCHAR(15) CHARACTER SET WIN1254 COLLATE PXW_TURK,');
sorgu.SQL.Add('"FAX" VARCHAR(15) CHARACTER SET WIN1254 COLLATE PXW_TURK,');
sorgu.SQL.Add('"MAILADRESI" VARCHAR(50) CHARACTER SET WIN1254 COLLATE PXW_TURK,');
sorgu.SQL.Add('"WEBADRESI" VARCHAR(50) CHARACTER SET WIN1254 COLLATE PXW_TURK,');
sorgu.SQL.Add('PRIMARY KEY ("SIRA"))');
sorgu.Prepare;
sorgu.ExecSQL;
sorgu.Close;
sorgu.SQL.Clear;
//KURUM generator
Try
sorgu.Close;
sorgu.SQL.Clear;
sorgu.SQL.Add('CREATE GENERATOR "KURUM_GEN"');
sorgu.Prepare;
sorgu.ExecSQL;
Finally
sorgu.Close;
end;
//Stored Procedure oluşturuluyor autoinc field için
try
sorgu.Close;
sorgu.SQL.Clear;
sorgu.SQL.Add('CREATE PROCEDURE "SP_KURUM"');
sorgu.SQL.Add('RETURNS');
sorgu.SQL.Add('(');
sorgu.SQL.Add(' "SIRA" INTEGER');
sorgu.SQL.Add(')');
sorgu.SQL.Add('AS');
sorgu.SQL.Add('BEGIN');
sorgu.SQL.Add('SIRA = GEN_ID(KURUM_GEN,1);');
sorgu.SQL.Add('END');
sorgu.Prepare;
sorgu.ExecSQL;
Finally
sorgu.Close;
end;
Formu hazırladım, navigator ile yeni kayıt eklemeye kalktığımda tablo read-only açıldı diyor. Yeni kayıt giremiyorum.
Forma bir buton ekleyip bu butonun onclick yordamına aşağıdaki kodu ekledim:
Kod: Tümünü seç
procedure Tfrkurumgir.SpeedButton2Click(Sender: TObject);
begin
frdm.kurum.Active:=false;
frdm.kurum.SQL.Clear;
frdm.kurum.SQL.Add('insert into kurum(SIRA, KURUMADI, MUDURADI, MUDURYARADI, OGRETIMYILI, ILILCE,TELEFON,FAX,MAILADRESI,WEBADRESI)');
frdm.kurum.SQL.Add('values(3, '' Ticaret'', ''Fikret Karakoç'', ''Nedim Güngören'', ''2007-2008'', ''Çanakkale/Biga'',''2863161035'',''2863170753'',''yeniticaret'',''www.yenihtml.k12.tr'')');
frdm.kurum.Open;
end;
Kodun sonunda close komutu veya halt gibi bir komut yok.
Lazarusta kullandığım bileşenden kaynaklanan bir durum olabilirmi?
Buradaki SIRA alanına değeri kendim verdim, yukarıdaki genarator sayıyı ne zaman üretecek, value alanına aşağıdaki kodu yazdığımda maalesef sonuç üretmedi:
Kod: Tümünü seç
frdm.kurum.SQL.Add('values(:SIRA, :KURUMADI, :MUDURADI, :MUDURYARADI, :OGRETIMYILI, :ILILCE,:TELEFON,:FAX,:MAILADRESI,:WEBADRESI)');
bu alanları ayrıca parameter komutu ile tanımlamam mı gerekiyor?
Kod: Tümünü seç
ADOQuery1.Parameters.ParamByName('edit1').Value:=Edit1.Text;
Bu işi şimdiye kadar lisanssız delphi ile ve paradox ile yapmıştım, ama lisans riskinden dolayı lazarus ile yapabilirmiyim diye denedim, maalesef el yordamı ile hiç bir yol alamadım. Yardımlarınız için teşekkürler...