Delphi Can

Orjinalini görmek için tıklayınız: Combobox database insert
Şu anda (Arşiv) modunu görüntülemektesiniz. Orjinal Sürümü Görüntüle internal link
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?
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;
  if Assigned(ComboIcerik.Selected) then
    ParamByName('IK').AsString := ComboIcerik.Selected.Text
  else
    ParamByName('IK').AsString := '';
(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
(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.