Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
Combobox database insert
#1
Merhaba;

Comboboxda içerikler diye itemsler oluşurdum (ankara, istanbul, izmir) gibi seçili olanı databaseye kaydetmek istiyorum, ancak içinden çıkamadığım bir sorun var, combobox da kayıt seçili değilse yani boş ise databaseye olan boş olarak kaydedilmesini istiyorum.
Aşağıdaki iki yöntemdede ayrı ayrı sorunlar yaşadım.


comboboxdaki tüm verileri databaseye kaydediyor.

 ParamByName('IK').AsString:=ComboIcerik.Items.Text;
 

seçili bir kayıt olmadığı içi adres hatası alıyorum.
 ParamByName('IK').AsString:=ComboIcerik.Selected.Text;

Acaba nasıl çözebilirim?
Cevapla
#2
Merhaba,
ComboBox'ın Items özelliği TStrings tipinde olduğundan, bir değerler kümesi içerir. 
Kullanım şeklinizde Items.Text değeri tüm kümeyi ifade etmektedir. Yani tüm ComboBax değerlerini veritabanına göndermesi gayet normal. 
Yalnızca seçili değeri veri tabanına göndermek isterseniz Items[<GönderilecekDeğerinIndexi>] şeklinde kullanmalısınız. 
Seçim yoksa veri tabanına o alan için null değeri gönderebilirsiniz.

Örnek kullanım tarzı aşağıdaki gibi olmalıdır.
var
 Secim: String;
begin
 if ComboBox1.ItemIndex > -1 then
 begin
   Secim := QuotedStr(ComboBox1.Items[ComboBox1.ItemIndex]);
 end
 else
 begin
   Secim := 'null';
 end;
 //ShowMessage('Seçim Değeri: ' + Secim);
 ParamByName('IK').AsString:=Secim;
end;
Cevapla
#3
  if Assigned(ComboIcerik.Selected) then
    ParamByName('IK').AsString := ComboIcerik.Selected.Text
  else
    ParamByName('IK').AsString := '';
WWW
Cevapla
#4
(07-02-2018, Saat: 01:59)hido Adlı Kullanıcıdan Alıntı: Merhaba;

Comboboxda içerikler diye itemsler oluşurdum (ankara, istanbul, izmir) gibi seçili olanı databaseye kaydetmek istiyorum, ancak içinden çıkamadığım bir sorun var, combobox da kayıt seçili değilse yani boş ise databaseye olan boş olarak kaydedilmesini istiyorum.
Aşağıdaki iki yöntemdede ayrı ayrı sorunlar yaşadım.


comboboxdaki tüm verileri databaseye kaydediyor.

 ParamByName('IK').AsString:=ComboIcerik.Items.Text;
 

seçili bir kayıt olmadığı içi adres hatası alıyorum.
 ParamByName('IK').AsString:=ComboIcerik.Selected.Text;

Acaba nasıl çözebilirim?


Şöyle yapabilirsiniz, comboboxsa illeri yazdıktan sonra string boş bir alan ekleyin bu boş alan seçilmiş olduğunda databaseye kayıt sırasında hata almazsın, test ettim. 

boş
ankara
istanbul
izmir
Cevapla
#5
(07-02-2018, Saat: 21:49)brs Adlı Kullanıcıdan Alıntı:
(07-02-2018, Saat: 01:59)hido Adlı Kullanıcıdan Alıntı: Merhaba;

Comboboxda içerikler diye itemsler oluşurdum (ankara, istanbul, izmir) gibi seçili olanı databaseye kaydetmek istiyorum, ancak içinden çıkamadığım bir sorun var, combobox da kayıt seçili değilse yani boş ise databaseye olan boş olarak kaydedilmesini istiyorum.
Aşağıdaki iki yöntemdede ayrı ayrı sorunlar yaşadım.


comboboxdaki tüm verileri databaseye kaydediyor.

 ParamByName('IK').AsString:=ComboIcerik.Items.Text;
 

seçili bir kayıt olmadığı içi adres hatası alıyorum.
 ParamByName('IK').AsString:=ComboIcerik.Selected.Text;

Acaba nasıl çözebilirim?


Şöyle yapabilirsiniz, comboboxsa illeri yazdıktan sonra string boş bir alan ekleyin bu boş alan seçilmiş olduğunda databaseye kayıt sırasında hata almazsın, test ettim. 

boş
ankara
istanbul
izmir


Elinize sağlık.
Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  Uzak web database bağlantısı Altıner 4 835 17-01-2023, Saat: 14:07
Son Yorum: hi_selamlar
  Web servis uygulması ile Json veri ile update insert select ? diseqc 4 1.481 19-03-2022, Saat: 07:01
Son Yorum: diseqc
  datasnap insert into gonulali 7 1.724 02-10-2021, Saat: 10:49
Son Yorum: gonulali
  Delphi Lokal ve Uzak Database Kullanımı dkadir 3 1.370 20-06-2021, Saat: 12:34
Son Yorum: dkadir
  Google FireBase Database ikurt07 4 1.880 10-02-2021, Saat: 13:34
Son Yorum: savasabd



Konuyu Okuyanlar: 1 Ziyaretçi