Konuyu Paylaş : facebook gplus twitter

Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
Alan boş ise değer ataması
#1
Benim 2 tane tarih alanları ilgili editim var bu editlere bir tarih girmezsem 31/12/1899 gibi bir değer atıyor. Editler boş ise boş değer atamasını istiyorum. Her hangi bir hata almıyorum ama çalıştıramadım kodu
if (Sat1.Text = '') and (Sat2.Text = '') then
begin
DateTimeToStr(null);
end;

 Button içine yazdığım kod bu ama o zaman da diğer tüm alanlar da boş geliyor. VT olarak mysql 2014 kullanıyorum

if (Sat1.AsDateTime = 0) and (Sat2.AsDateTime = 0) then
begin
Pazar.FieldByName('SatTarihi').AsString := '';
end;
Bu şekilde işimi gördüm, yardımınız için teşekkür ederim.
Cevapla
#2
eğer text sahadan veritabanına insert yapıyorsan
if (Sat1.Text = '') and (Sat2.Text = '') then
begin
  .fieldbyname('TARIHSAHASI').Asstring := '';
//   DateTimeToStr(null);
end;
olarak dener misin?
Cevapla
#3
(07-07-2017, Saat: 10:05)meko Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye Oleğer text sahadan veritabanına insert yapıyorsan
if (Sat1.Text = '') and (Sat2.Text = '') then
begin
  .fieldbyname('TARIHSAHASI').Asstring := '';
//   DateTimeToStr(null);
end;
olarak dener misin?

Merhaba dediğiniz gibi yaptım. Ama texten insert etmediğim için ''data set is not insert mode'' hatası aldım. Ve tüm alanlar yine boş olarak geldi
Cevapla
#4
kodunu daha detaylı paylaşman mümkün mü?
Cevapla
#5
Selam,
DateTimeToStr bir fonksiyondur, DateTime değer alıp String olarak çıktı verir. Her iki text e girilen bir değer yoksa Neye null atamak istiyorsunuz ? O fonksiyonu bir değere atamanız gerekli ?
Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol
WWW
Cevapla
#6
Merhaba
Tarih Edit'ini kontrol edip, boş ise Null, değilse edit'in değerini alarak işlem yapabilirsiniz.
Örn:
var
 strTarih: String;
begin
 if edtSatisTarihi.Text.IsEmpty then { Tarih Edit'i boş ise }
   strTarih := 'NULL'
 else
   strTarih := QuotedStr(edtSatisTarihi.Text);
 // diğer kodlarınız
 FDQuery1.ParamByName('SATIS_TARIH').AsString := strTarih;
 FDQuery1.Execute;
While true do; Hayat döngüsü, kısır değildir! Yapılan bir yanlış, o döngünün dışına çıkmanızı sağlayacaktır.
WWW
Cevapla
#7
Şöyle bir şey yapabilirsin.

uses Variants; //usesa eklenecek

function VarToDef(Variable: Variant): Variant;
begin
 Result := Variable;
 If (Variable <> null) Then Exit;
 case VarType(Variable) of
   varEmpty    : Result := 'boş';
   varNull     : Result := null;
   varSmallint : Result := 0;
   varInteger  : Result := 0;
   varSingle   : Result := 0;
   varDouble   : Result := 0;
   varCurrency : Result := 0;
   varDate     : Result := null;
   varOleStr   : Result := '';
   varDispatch : Result := 'Yok';
   varError    : Result := '';
   varBoolean  : Result := False;
   varVariant  : Result := null;
   varUnknown  : Result := null;

   varShortInt : Result := 0;
   varByte     : Result := null;
   varWord     : Result := '';
   varLongWord : Result := '';
   varInt64    : Result := 0;

   {varStrArg   : Result := 'Yok';
   varString   : Result := 'Yok';
   varAny      : Result := 'Yok';}
 end;
end;

sonrada istediğin yere koyabilirsin. Eğer gönderdiğin değer boş ise fonksiyonda tanımladığın değeri geri döndürür.

Kullanımı:
        qryUse.SQL.Text := 'Update GENERALNOTES Set '+
                            'TITLE=:TITLE, '+
                            'ANOTE=:ANOTE, '+
                            'CREATEDATE=:CREATEDATE '+
                          'Where '+
                          'ID=:ID';

        qryUse.Parameters.ParamByName('ID').Value    :=VarToDef(ID);
        qryUse.Parameters.ParamByName('TITLE').Value :=VarToDef(TITLE);
        qryUse.Parameters.ParamByName('ANOTE').Value :=VarToDef(ANOTE);
        qryUse.Parameters.ParamByName('CREATEDATE').Value :=VarToDef(CREATEDATE);

       qryUse.ExecSQL;
WWW
Cevapla

Konuyu Paylaş : facebook gplus twitter



Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  Db Lookup Alan nehirnnn 9 273 05-01-2018, Saat: 00:51
Son Yorum: nehirnnn
  Değer döndüren panel Lord_Ares 11 727 26-09-2017, Saat: 15:19
Son Yorum: Lord_Ares
  DevExpress Alan Seçici Özelliği hyperxman 2 267 03-08-2017, Saat: 23:50
Son Yorum: hyperxman
  static değişkene Default değer atama! bozli54 3 325 26-05-2017, Saat: 15:35
Son Yorum: Fesih ARSLAN



Konuyu Okuyanlar: 1 Ziyaretçi