Delphi Can
Combobox database insert - Baskı Önizleme

+- Delphi Can (https://www.delphican.com)
+-- Forum: Delphi (https://www.delphican.com/forumdisplay.php?fid=3)
+--- Forum: Mobil Platform - FireMonkey (FMX) (https://www.delphican.com/forumdisplay.php?fid=7)
+--- Konu Başlığı: Combobox database insert (/showthread.php?tid=1933)



Combobox database insert - hido - 07-02-2018

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?


Cvp: Combobox database insert - Fesih ARSLAN - 07-02-2018

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;



Combobox database insert - witalihakko - 07-02-2018

  if Assigned(ComboIcerik.Selected) then
    ParamByName('IK').AsString := ComboIcerik.Selected.Text
  else
    ParamByName('IK').AsString := '';



Cvp: Combobox database insert - brs - 07-02-2018

(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


Cvp: Combobox database insert - dilo - 08-02-2018

(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.