DBGRID Tarih field kilitlenme problemi hakkında
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
-
- Üye
- Mesajlar: 58
- Kayıt: 15 Eyl 2016 12:13
DBGRID Tarih field kilitlenme problemi hakkında
Merhaba arkadaşlar aşağıdaki kodlarla dbgrid'e veri giriyorum fakat 2 tane tarih alanım var onlara veri giremiyorum kilitleniyor bende adoquery filed ları ekliyorum bu seferde tarihleri giriyorum ama tarih alanına girdiğim veriyi boş kaydediyor sql'e ne yapmam gerekiyor yardımlarınızı bekliyorum..
************************************************************************************
DBGrid1.Options:=DBGrid1.Options-[dgRowSelect];
DBGrid1.Options:=DBGrid1.Options+[dgEditing];
ekle.Enabled:=false;
kaydet.Enabled:=true;
degistir.Enabled:=false;
sil.Enabled:=false;
iptal.Enabled:=true;
yazdir.Enabled:=false;
kapat.Enabled:=false;
module.adoPlanlama.Insert;
DBGrid1.SelectedIndex := 0;
DBGrid1.SetFocus;
************************************************************************************
DBGrid1.Options:=DBGrid1.Options-[dgRowSelect];
DBGrid1.Options:=DBGrid1.Options+[dgEditing];
ekle.Enabled:=false;
kaydet.Enabled:=true;
degistir.Enabled:=false;
sil.Enabled:=false;
iptal.Enabled:=true;
yazdir.Enabled:=false;
kapat.Enabled:=false;
module.adoPlanlama.Insert;
DBGrid1.SelectedIndex := 0;
DBGrid1.SetFocus;
Re: DBGRID Tarih field kilitlenme problemi hakkında
Merhaba,
Öncelikle soru sorarken bazı noktalara dikkat etmenizde fayda var.
1- Gönderdiğiniz kod örneğini [ code ] ve [ / code ] bloklarının arasında yazarsanır okunması daha kolay olacaktır. Bu kod blokları Tam Editör modunda buton olarak tıklanarak yazıya eklenebilir.
2- Tarih alanlarınızın database tablo isimlerini yazmamışsınız.
3- Tarih alanlarınızın içine sadece tarih mi yoksa tarih ve saat bir arada mı bilgi girmek istiyorsunuz belirli değil.
4A- Tarih alanlarına atamayı "ekle" butonuna tıklandığı zaman mı girmek istiyorsunuz?
4B- Yoksa "kaydet" butonuna tıklandığı sırada mı girmek istiyorsunuz?
4C- Yoksa kullanıcının bu alana veri girmesini mi istiyorsunuz? Sorunuzun içinde bu bilgi de mevcut değil.
Foruma yeni üye olduğunuz için bu yazılanları lütfen şahsınıza saldırı olarak algılamayın. Sadece ücretsiz şekilde yardım aldığınız bu forumdaki yardım beklediğiniz kişilerin boş zamanlarına olan saygı olarak düşünün. Düşünülerek hazırlanmış sorulara direk yanıtlar alma ihtimaliniz çok daha yüksektir.
Sorunuz ile ilgili olarak. Gönderdiğiniz kod herhangi bir Database alanına atama yapmıyor. Sadece database'i yeni kayıt giriş moduna geçiyor. Tam olarak araya kayıt ekleme moduna geçiriyor. Siz
satırından sonra yukarıdaki 4 numaralı maddedenin hangi şıkkı sizin için geçerli ise buna uygun yerde her bir tarih alanı için aşağıdaki gibi bir satır eklemelisiniz.
NOT: DateOf() fonksiyonu DateUtils içinde tanımlanmıştır. Unit içideki uses kısmına eklemeniz gerekebilir.
Öncelikle soru sorarken bazı noktalara dikkat etmenizde fayda var.
1- Gönderdiğiniz kod örneğini [ code ] ve [ / code ] bloklarının arasında yazarsanır okunması daha kolay olacaktır. Bu kod blokları Tam Editör modunda buton olarak tıklanarak yazıya eklenebilir.
2- Tarih alanlarınızın database tablo isimlerini yazmamışsınız.
3- Tarih alanlarınızın içine sadece tarih mi yoksa tarih ve saat bir arada mı bilgi girmek istiyorsunuz belirli değil.
4A- Tarih alanlarına atamayı "ekle" butonuna tıklandığı zaman mı girmek istiyorsunuz?
4B- Yoksa "kaydet" butonuna tıklandığı sırada mı girmek istiyorsunuz?
4C- Yoksa kullanıcının bu alana veri girmesini mi istiyorsunuz? Sorunuzun içinde bu bilgi de mevcut değil.
Foruma yeni üye olduğunuz için bu yazılanları lütfen şahsınıza saldırı olarak algılamayın. Sadece ücretsiz şekilde yardım aldığınız bu forumdaki yardım beklediğiniz kişilerin boş zamanlarına olan saygı olarak düşünün. Düşünülerek hazırlanmış sorulara direk yanıtlar alma ihtimaliniz çok daha yüksektir.
Sorunuz ile ilgili olarak. Gönderdiğiniz kod herhangi bir Database alanına atama yapmıyor. Sadece database'i yeni kayıt giriş moduna geçiyor. Tam olarak araya kayıt ekleme moduna geçiriyor. Siz
Kod: Tümünü seç
module.adoPlanlama.Insert;
Kod: Tümünü seç
module.adoPlanlama.FieldByName('TarihAlanininAdi').AsDateTime := DateOf(now);
NOT: DateOf() fonksiyonu DateUtils içinde tanımlanmıştır. Unit içideki uses kısmına eklemeniz gerekebilir.
-
- Üye
- Mesajlar: 58
- Kayıt: 15 Eyl 2016 12:13
Re: DBGRID Tarih field kilitlenme problemi hakkında
hocam merhaba öncelikle teşekkürler ben ekle dedikten sonra dbgrid'te tüm alanları dolduruyorum ama tarih alanına gelince yazdığım tarih bir alt satıra geçince grid içinde yok oluyor çözemiyorum yardımlarınızı bekliyorum.
-
- Üye
- Mesajlar: 58
- Kayıt: 15 Eyl 2016 12:13
Re: DBGRID Tarih field kilitlenme problemi hakkında
merhaba arkadaşlar ekte örnek projem var inceleyip yardımcı olabilirmisiniz rica etsem.
http://s9.dosya.tc/server/1bhkt3/ornek.rar.html
http://s9.dosya.tc/server/1bhkt3/ornek.rar.html
- greenegitim
- Üye
- Mesajlar: 713
- Kayıt: 28 Nis 2011 10:33
- Konum: İstanbul
Re: DBGRID Tarih field kilitlenme problemi hakkında
Tarih alanı date bir alanmı yoksa timestamp bir alanmı tarih alanı ise
module.adoPlanlama.FieldByName('TarihAlanininAdi').value:=date; yazın
module.adoPlanlama.FieldByName('TarihAlanininAdi').value:=date; yazın
Mücadele güzelleştirir!
-
- Üye
- Mesajlar: 58
- Kayıt: 15 Eyl 2016 12:13
Re: DBGRID Tarih field kilitlenme problemi hakkında
merhaba hocam evete tarih alanı date bir alan sizin yolladığınız kodu nereye yazacağım? bunu ben dbgrid içinden giriş yapmak istiyorum adotable buna izin veriyor ama adotable işimi görmüyor.
- greenegitim
- Üye
- Mesajlar: 713
- Kayıt: 28 Nis 2011 10:33
- Konum: İstanbul
Re: DBGRID Tarih field kilitlenme problemi hakkında
Proje dosyanda hiç kod yok bir button koy ve buttonun click eventına
yaz termin_tarihi alanının date tanımlandığına eminmisin?
Kod: Tümünü seç
ADOQuery1.Append;
ADOQuery1order_no.Value:=1;
ADOQuery1termin_tarihi.Value:=Date;
ADOQuery1.Post;
Mücadele güzelleştirir!
Re: DBGRID Tarih field kilitlenme problemi hakkında
Örnek uygulama içindeki SQL sorgusu ile "siparis_tarih" ve "termin_tarihi" alanlarını tarih formatından çıkarıp Varchar(20) yani string alana dönüştürüyorsunuz.emrekilinc1984 yazdı:merhaba arkadaşlar ekte örnek projem var inceleyip yardımcı olabilirmisiniz rica etsem.
http://s9.dosya.tc/server/1bhkt3/ornek.rar.html
1- Bu SQL ile emin olmamakla birlikte DBGrid içinden elle tarih girişi yaptıramazsınız. ADOQuery.SQL içeriğini aşağıdaki şekilde değiştirerek deneyebilir misiniz?
Kod: Tümünü seç
select order_no, model_tanim, adet, siparis_tarih, termin_tarihi, baski_durum,
urun_durumu, firma_adi, aktar from uretim_planlama
Kod: Tümünü seç
procedure TForm1.FormCreate(Sender: TObject);
begin
ADOQuery1.Close();
ADOQuery1.Open();
TDateTimeField(ADOQuery1.FieldByName('siparis_tarih')).DisplayFormat := 'dd/mm/yyyy';
TDateTimeField(ADOQuery1.FieldByName('termin_tarihi')).DisplayFormat := 'dd/mm/yyyy';
end;
-
- Üye
- Mesajlar: 58
- Kayıt: 15 Eyl 2016 12:13
Re: DBGRID Tarih field kilitlenme problemi hakkında
hallettim dün gece teşekkürler arkadaşlar.