Delphi Dünyası Facebook'ta

Kodbank İndir

! CODEBANK 2012 !

İNDİRMEK&DETAYLI BİLGİ ALMAK İÇİN BURAYI TIKLAYINIZ.

Gönderen Konu: atma belirtimi için geçersiz karakter değeri  (Okunma sayısı 569 defa)

0 Üye ve 1 Ziyaretçi konuyu incelemekte.

Çevrimdışı atmazg

  • Delphi 6 Level 1
  • *
  • İleti: 257
  • Rep: +0/-0
  • Delphi Sürümü: Delphi 6, Delphi 2010, Delphi XE2
atma belirtimi için geçersiz karakter değeri
« : 06 Ocak 2012 15:34:20 »
access'deki verileri mssql'e alırken bu hatayı alıyorum. bu hatayı verme sebebi mssql datetime alanlardan kaynaklanıyor. onu buldum. alanı string yaptığım zaman sorun yok . ama bu sefer ben filtrelemelerde sorun yaşıyorum. access'deki alan özelliğide tarih/saat ama bir türlü beceremedim. aktarma yapamıyorum hata veriyor. kodlardan tarih olan satırları sildiğim zaman sorun yok  birebir aktarıyor. tarihler işi bozuyor.

nasıl bir yol izleyebilrim veya verileri nasıl aktarabilirim ? saygılar.

Çevrimdışı boreas

  • Delphi 4 Level 1
  • *
  • İleti: 156
  • Rep: +0/-0
  • Cinsiyet: Bay
    • Lazarus - Freepascal - Delphi Bloğu
Ynt: atma belirtimi için geçersiz karakter değeri
« Yanıtla #1 : 06 Ocak 2012 16:10:52 »
1) mysql'in tarih datasından günü ayı yılı ayrı stringlere aktarıp access'in tarih datasına istediği formatta girmeyi denedin mi?

2) datetostr --> strtodate foknsyonlarıyla tarihi stringe stringi tarihe çevirerek aktarmayı denedin mi ?
Lazarus - Freepascal - Delphi Günlüğü
www.boreas.gen.tr
www.facebook.com/groups/lazarus.turkiye

Çevrimdışı atmazg

  • Delphi 6 Level 1
  • *
  • İleti: 257
  • Rep: +0/-0
  • Delphi Sürümü: Delphi 6, Delphi 2010, Delphi XE2
Ynt: atma belirtimi için geçersiz karakter değeri
« Yanıtla #2 : 06 Ocak 2012 16:15:20 »
1- mysql değil mssql

2- evet denedim ama yinede olmadı.

işin kötü tarafı 31 tane tarih alanı var tablonun içinde. mutlaka aktarmam lazım yani.  ::(

Çevrimdışı boreas

  • Delphi 4 Level 1
  • *
  • İleti: 156
  • Rep: +0/-0
  • Cinsiyet: Bay
    • Lazarus - Freepascal - Delphi Bloğu
Ynt: atma belirtimi için geçersiz karakter değeri
« Yanıtla #3 : 06 Ocak 2012 16:21:41 »
1 ) yahu sende :D ha mysql ha mssql demek istediğim şöyle bişey olabilir biri tarihi "." ile ayırır diğeri "/" ayırır sıkıntı yaşarsın bu yüzden tek tek bilgiyi alır gün-ay-yıl olarak diğer tarafa aktarmayı denedin mi ? dire tarih1.value := tarih2.value demek yerine ou öğrenmek istiyorum :)

2) bu maddeleme işini sevdim
Lazarus - Freepascal - Delphi Günlüğü
www.boreas.gen.tr
www.facebook.com/groups/lazarus.turkiye

Çevrimdışı atmazg

  • Delphi 6 Level 1
  • *
  • İleti: 257
  • Rep: +0/-0
  • Delphi Sürümü: Delphi 6, Delphi 2010, Delphi XE2
Ynt: atma belirtimi için geçersiz karakter değeri
« Yanıtla #4 : 06 Ocak 2012 16:29:55 »
1- gün-ay-yıl olarak tek tek denemedim.(onu nasıl yapıcagımı bılmıyorum. ama araştırırım hemen) direk tarih1.value := tarih2.value olarak yapıyorum. normal kendim yazdığım zaman mssqlde 01.01.2012 olarak kayıt oluyor. aktarırken problem oluyor.

2- sen böyle yazmışsın devam ettireyim dedim.  :D

Çevrimdışı boreas

  • Delphi 4 Level 1
  • *
  • İleti: 156
  • Rep: +0/-0
  • Cinsiyet: Bay
    • Lazarus - Freepascal - Delphi Bloğu
Ynt: atma belirtimi için geçersiz karakter değeri
« Yanıtla #5 : 06 Ocak 2012 16:33:41 »
birde tarihi stringe çevirip datetostr ile ardından reaplacestring diye bir komut olacak onunla "." "/" yapıp deüzelttiğin tarihi strtodate ile aktarmayı denermsn
Lazarus - Freepascal - Delphi Günlüğü
www.boreas.gen.tr
www.facebook.com/groups/lazarus.turkiye

Çevrimdışı atmazg

  • Delphi 6 Level 1
  • *
  • İleti: 257
  • Rep: +0/-0
  • Delphi Sürümü: Delphi 6, Delphi 2010, Delphi XE2
Ynt: atma belirtimi için geçersiz karakter değeri
« Yanıtla #6 : 06 Ocak 2012 16:38:00 »
edit1.text:=tarih1.text;
tarih2.value:=strtodate(edit1.text);

olarak denedim oda olmadı aynı hatayı vermişti. :(

Çevrimdışı boreas

  • Delphi 4 Level 1
  • *
  • İleti: 156
  • Rep: +0/-0
  • Cinsiyet: Bay
    • Lazarus - Freepascal - Delphi Bloğu
Ynt: atma belirtimi için geçersiz karakter değeri
« Yanıtla #7 : 06 Ocak 2012 16:49:40 »
tarih2.value:=strtodate(StringReplace(datetostr(edit1.text), '.', ' /',[rfReplaceAll, rfIgnoreCase]))
Lazarus - Freepascal - Delphi Günlüğü
www.boreas.gen.tr
www.facebook.com/groups/lazarus.turkiye

Çevrimdışı atmazg

  • Delphi 6 Level 1
  • *
  • İleti: 257
  • Rep: +0/-0
  • Delphi Sürümü: Delphi 6, Delphi 2010, Delphi XE2
Ynt: atma belirtimi için geçersiz karakter değeri
« Yanıtla #8 : 06 Ocak 2012 16:51:59 »
hemen denicem ama biraz zaman alacak. malum alan çok bilgi veririm. tşk ederim ilgin için.

Çevrimdışı boreas

  • Delphi 4 Level 1
  • *
  • İleti: 156
  • Rep: +0/-0
  • Cinsiyet: Bay
    • Lazarus - Freepascal - Delphi Bloğu
Ynt: atma belirtimi için geçersiz karakter değeri
« Yanıtla #9 : 06 Ocak 2012 16:53:44 »
rica ederim ama bütün alan için değilde tek bir tarih için dene derim. birinde çözünce kalanı çözmen bi kaç sn. alır
Lazarus - Freepascal - Delphi Günlüğü
www.boreas.gen.tr
www.facebook.com/groups/lazarus.turkiye

Çevrimdışı atmazg

  • Delphi 6 Level 1
  • *
  • İleti: 257
  • Rep: +0/-0
  • Delphi Sürümü: Delphi 6, Delphi 2010, Delphi XE2
Ynt: atma belirtimi için geçersiz karakter değeri
« Yanıtla #10 : 06 Ocak 2012 16:55:07 »
bir küçük sorun da o .hangi alandan dolayı hata verdiğini bilmiyorum. ben önce onu bir araştırayım. :-\

Çevrimdışı boreas

  • Delphi 4 Level 1
  • *
  • İleti: 156
  • Rep: +0/-0
  • Cinsiyet: Bay
    • Lazarus - Freepascal - Delphi Bloğu
Ynt: atma belirtimi için geçersiz karakter değeri
« Yanıtla #11 : 06 Ocak 2012 16:56:06 »
:)) hadi sana kolay gelsin
Lazarus - Freepascal - Delphi Günlüğü
www.boreas.gen.tr
www.facebook.com/groups/lazarus.turkiye

Çevrimdışı atmazg

  • Delphi 6 Level 1
  • *
  • İleti: 257
  • Rep: +0/-0
  • Delphi Sürümü: Delphi 6, Delphi 2010, Delphi XE2
Ynt: atma belirtimi için geçersiz karakter değeri
« Yanıtla #12 : 06 Ocak 2012 16:59:22 »
tşk ederım. cidden kolay gelsin bana yaaw. 31 alan 10491 kayıt  :-\

hesaplamak bile istemiyorum.

Çevrimdışı sabanakman

  • Global Moderatör
  • *****
  • İleti: 796
  • Rep: +13/-0
  • Cinsiyet: Bay
  • Delphi Sürümü: e) Hepsi
Ynt: atma belirtimi için geçersiz karakter değeri
« Yanıtla #13 : 06 Ocak 2012 21:09:48 »
Eğer smalldatetime tipi kullanıyorsan bunu kullanma.Onun yerine datetime tipi kullan. İçeren değer sorunsuz tarihsel bir kayıt olabilir ama o alan tipi için sınırı aşan bir değere sahip olabilir. Tahminim delphi tarafından 0 (sıfır) yazılan bir tarih değerinin 31.12.1899 olarak kayda geçmesi sonucu smalldatetime tipinin alt sınırı olan 01.01.1900 (belki de üst sınır 6.6.2079 :) ) değerini aşarsınız ve SQL ortamında bu tipe öyle bir tarih değeri kayıt edemezsiniz. En pratik çözüm alan tipi olarak smalldatetime yerine datetime kullanmak olacaktır.
« Son Düzenleme: 06 Ocak 2012 21:16:47 by sabanakman »
Şaban Şahin AKMAN

Derin olan kuyu değil kısa olan iptir

Çevrimdışı atmazg

  • Delphi 6 Level 1
  • *
  • İleti: 257
  • Rep: +0/-0
  • Delphi Sürümü: Delphi 6, Delphi 2010, Delphi XE2
Ynt: atma belirtimi için geçersiz karakter değeri
« Yanıtla #14 : 09 Ocak 2012 08:20:37 »
sabanakman hocam alanlarım datetime kullanıyorum. bu arada sorunu buldum ama sadece 1 tanesınde dıgerlerını aramaya devam edıyorum. tarihlerden birisi daha önce 01.01.1004 olarak kayıt edilmiş. access'de hiçbişey dememiş kayıt etmiş. bu yüzden hata veriyor muhtemelen bitirince tekrar dönüş yapıcam bilgi vericem. teşekkürler