formdaki içi bos text alanlar sql kayıt olurken dolu gidiyor.

MS SQL Server veritabanı ve SQL komutlarıyla ilgli sorularınızı sorabilirsiniz. Delphi tarafındaki sorularınızı lütfen Programlama forumunda sorunuz.
Cevapla
Kullanıcı avatarı
cinarbil
Üye
Mesajlar: 109
Kayıt: 18 Mar 2014 09:26

formdaki içi bos text alanlar sql kayıt olurken dolu gidiyor.

Mesaj gönderen cinarbil »

editlerin içi boş aşağıdaki kod ile

Kod: Tümünü seç

edit4.text:='';
edit5.text:='';
data_form.sunucu_dataSet1.FieldByName('M_ADR1').Text :=trim(Edit4.Text);
data_form.sunucu_dataSet1.FieldByName('M_ADR2').Text :=trim(Edit5.Text);
data_form.sunucu_dataSet1.Append;
data_form.sunucu_dataSet1.edit;
data_form.sunucu_dataSet1.UpdateRecord;
data_form.sunucu_dataSet1.post;
hata vermeden sql kaydediyor
sql management ile bakınca yani (Tanımı : M_UNVANI Varchar 50)
50 karakterlik boşluk ekliyor.

Kod: Tümünü seç

Edit3.Text := data_form.sunucu_dataSet1.FieldByName('M_UNVANI').Text;
Edit4.Text := data_form.sunucu_dataSet1.FieldByName('M_ADR1').Text;
çağırınca databases tanımlı alan kadar boşluk geliyor.
Tadodataset kullanıyorum.
Yanlış yaptığım bir işlem mi var?

bilgi olması acısından yukarıdaki kod ile sql giden komut

Kod: Tümünü seç

exec sp_executesql N'INSERT INTO "DATA2016".."MUSTERIDBF" ("M_KODU","M_ADI","M_UNVANI","M_ADR1","M_ADR2","M_ADR3","M_ILI","M_TEL1","M_TEL2","M_TEL3","M_FAX","M_CEP","M_WEB","M_MAIL","M_VD","M_VN","M_NOT1","M_NOT2","M_NOT3","M_SIPARIS") VALUES (@P1,@P2,@P3,@P4,@P5,@P6,@P7,@P8,@P9,@P10,@P11,@P12,@P13,@P14,@P15,@P16,@P17,@P18,@P19,@P20)',N'@P1 varchar(5),@P2 nvarchar(35),@P3 nvarchar(35),@P4 nvarchar(40),@P5 nvarchar(40),@P6 nvarchar(30),@P7 nvarchar(30),@P8 nvarchar(20),@P9 nvarchar(20),@P10 nvarchar(20),@P11 nvarchar(20),@P12 nvarchar(20),@P13 nvarchar(50),@P14 nvarchar(50),@P15 nvarchar(25),@P16 nvarchar(25),@P17 nvarchar(1),@P18 nvarchar(1),@P19 nvarchar(1),@P20 int','76575',N'jhkgfjkhgfhj                       ',N'                                   ',N'                                        ',N'                                        ',N'                              ',N'                              ',N'                    ',N'                    ',N'                    ',N'                    ',N'                    ',N'                                                  ',N'     
"…De ki: "Hiç bilenlerle bilmeyenler bir olur mu? Şüphesiz, temiz akıl sahipleri öğüt alıp-düşünürler" (Zümer Suresi, 9)
Kullanıcı avatarı
fesiharslan
Üye
Mesajlar: 591
Kayıt: 20 Eki 2006 11:37
Konum: Erzurum
İletişim:

Re: formdaki içi bos text alanlar sql kayıt olurken dolu gidiyor.

Mesaj gönderen fesiharslan »

Merhaba;
Mantıken boş Edit'leri kontrol edip, yalnızca dolu olanları Insert işlemine tabi tutmanız gerekiyor.
Örneğin;

Kod: Tümünü seç

Şart:='';
if Trim(Edit1.Text)<>'' then 
  Şart:= Şart+'kimlikno='+Trim(Edit1.Text)+' AND ';
if Trim(Edit2.Text)<>'' then 
  Şart:= Şart+'adi='+Trim(Edit2.Text)+' AND ';
  ....
  ....
 if Şart<>'' then
 Begin
 //Koşul var ise Sql'i çalışır.
 End;
m_yaprakci

Re: formdaki içi bos text alanlar sql kayıt olurken dolu gidiyor.

Mesaj gönderen m_yaprakci »

Boşluk ekleme olayını CHAR tipi alanlarda yapar ama varchar veya nvarchar'da yapmaması lazım.
bu arada nvarchar tipi varchardan iki kat fazla yer kaplar ve arapça çince vs için destekte kullanılır (unicode)
Tablo alan tiplerinizde veya delphide Tadofield tanımlarınız varsa onları bi gozden geçirin. Cünkü sizin alanlarınız CHAR tipi gibi davranıyor.
Cevapla