Konuyu Paylaş : facebook gplus twitter

Konuyu Oyla:
  • Derecelendirme: 2/5 - 2 oy
  • 1
  • 2
  • 3
  • 4
  • 5
Kayıt güncelleme
#1
Merhaba;

Comboboxsa databesedeki kategorileri listeliyorum; fakat kategori adını değiştirmek istediğimde sıkıntı yaşıyorum.
EditKTAd.Text deki yeni isim Databasede yok ise güncelleme yapılacak, Bu sorunu nasıl çözebilirim?

procedure TForm2.BtnKTGuncelleClick(Sender: TObject);
var
  KTID: Integer;
  KTADI: String;
begin
  try
    if length(EditKTAd.Text) > 1 then
    begin
      With Form1.KAGOQuery,  List do
      begin
        Connection := Form1.PGConnection;
        Active := False;
        Close;
        SQL.Clear;
        SQL.Add('Select * From KATEGORI Where KATEGORIADI=:KA');
        ParamByName('KA').AsString := ComboBoxKT.Text;
        Prepared := True;
        Open;
        if Not IsEmpty then // Kayıt varsa
        begin
          KTID := StrToInt(FieldByName('ID').AsString); // Id no
          KTADI := FieldByName('KATEGORIADI').AsString; // Kategori adı
          begin
            Connection := Form1.PGConnection;
            Active := False;
            Close;
            SQL.Clear;
            SQL.Add('Update KATEGORI Set KATEGORIADI=:KA Where ID=:ID');
            ParamByName('ID').AsInteger := KTID;
            ParamByName('KA').AsString := EditKTAd.Text;
            ExecSQL;
            KategoriComboBoxListele(Sender);
            if (Items.Count > 0) And (length(EditKTAd.Text) > 1) then
            begin
              for I := Items.Count - 1 downto 0 do
              begin
                Connection := Form1.PGConnection;
                Active := False;
                Close;
                SQL.Clear;
                SQL.Add('Update PROGRAM Set KATEGORI=:KT Where ID=:ID');
                ParamByName('ID').AsInteger := StrToInt(Items[I].Caption);
                ParamByName('KT').AsString := EditKTAd.Text;
                ExecSQL;
              end;
            end;
          end;
        end;
      end;
    end;
  finally
    Form1.KAGOQuery.Close;
  end;
end;



procedure TForm2.KategoriComboBoxListele(Sender: TObject);
begin
  try
    With Form1.KAGOQuery do
    begin
      Connection := Form1.PGConnection;
      Active := False;
      Close;
      SQL.Clear;
      SQL.Add('Select * From KATEGORI Order By KATEGORIADI ASC Limit 0,100');
      Prepared := True;
      Open;
      if Not IsEmpty then // Kayıt varsa
      begin
        ComboBoxKT.Items.Clear;
        while Not Form1.KAGOQuery.Eof do
        begin
          ComboBoxKT.Items.Add(FieldByName('KATEGORIADI').AsString);
          Next;
        end;
      end;
    end;
  finally
    Form1.KAGOQuery.Close;
    ComboBoxKT.ItemIndex := 0;
    EditKTAd.Text := ComboBoxKT.Text;
  end;
end;
Hayat bazen güzel olabiliyor.
Cevapla

Konuyu Paylaş : facebook gplus twitter



Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  RAD Studio Tokyo 10.2.3 yeni güncelleme gjamesbond 10 505 15-03-2018, Saat: 10:42
Son Yorum: nguzeller
  save dialog kayıt yeri sorunu erdogan 3 140 09-03-2018, Saat: 18:05
Son Yorum: narkotik
  Hal Kayıt Sistemi Web Servis eyln 37 1.566 29-12-2017, Saat: 13:54
Son Yorum: eyln
  Kayıt silme Dostk 5 368 21-12-2017, Saat: 15:03
Son Yorum: witalihakko
Question program içerisine veritabansız kayıt BY-HAYALET 6 245 09-12-2017, Saat: 12:23
Son Yorum: Abdullah ILGAZ



Konuyu Okuyanlar: 1 Ziyaretçi