EConvertError

EConvertError

offline
  • Pridružio: 19 Nov 2006
  • Poruke: 140

Kako da napisem kod koji ze zaobici prijavu greske kod updejta baze gde je polje za unos datuma "".Radi se o Acccess bazi,i koriscenji ADO-a.Kada pokusam da updejtujem bazu,ili da idem na nov unos,prikaze mi se poruka o gresci,tj.kompajler.ne dozvoljava unos praznog polja u datumsko polje tabele iako izvrsim recimo,StrToDate(txtdatum.text).

Hvala



Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
offline
  • Pridružio: 08 Jan 2007
  • Poruke: 279
  • Gde živiš: Srbija

Pozdrav,

za početak, da li si postavio not null? Ne bi bilo loše da postuješ kod koji si ispisao, pa da vidimo.



offline
  • Emil Beli
  • Pridružio: 03 Jan 2005
  • Poruke: 2990
  • Gde živiš: Beograd

@Dell


Naravno da ti daje gresku kad meshas babe i zabe..
TDateTime nije String nego je float.

Neces valjda da overrideujes gresku?!
Moze.. samo postavis Except kôd, ali to je pogresno. Ubaci NULL...

offline
  • Pridružio: 19 Nov 2006
  • Poruke: 140

evo,ovo je deo koda koji treba da postavi nov zapis
with DM.adoOpsti do     begin         Edit;         Insert;          =========================        FieldByName('DatumRodjenja').Value:=StrToDate(txtDatumPrijema.text); Post;     end;
i konacno,not null treba da ubacim gde???
Zahvalan

Strog edit: Dodao code tagove

offline
  • Strog  Male
  • Stručni saradnik
    Web programiranje
  • Bojan Kopanja
  • Web & Mobile developer @ ZeusSoftware
  • Pridružio: 26 Jul 2003
  • Poruke: 2597
  • Gde živiš: Stara Pazova

Prvo: Edit; i Insert; ti nikako ne idu zajedno... Ti u bazu radis ili Insert ili radis Edit nekod zapisa!

Drugo: Probaj ovako da odradis dodavanje u tu bazu:

with DM.adoOpsti do begin   Insert;   FieldByName('DatumRodjenja').AsDateTime:= StrToDate(txtDatumPrijema.txt)   Post; end;

Naravno, predlzem ti da ti ovaj txtDatumPrijema bude recimo MaskEdit koji ce imati masku za datum kako bi obezbedio ispravan unos datuma i to bi trebalo da bude to.

Naravno ja u sustini ne volim da radim ovako posto je dosta sporije od izvrsavanja cistog SQL upita tako da ti predlazem da probas i ovu varijantu:

with DM.adoOpsti do begin   Close;   SQL.Clear;   SQL.Add('INSERT INTO IME_TABELE(DatumRodjenja)');   SQL.Add('VALUES(:DATRODJ)');   Parameters.ParamByName('DATRODJ').Value:= StrToDate(txtDatumPrijema.Text);   ExecSQL; end;

Ovo ce ti dodati zapis u zeljenu tabelu sa datumom iz edita koji si naveo i to ti je to...

P.S. Sve sam pisao iz glave i pretpostavljam da je OK, ali ne zameri ako se negde potkrala neka greska posto nisam proveravao da li sam negde napravio sintaxnu gresku Very Happy.

offline
  • Pridružio: 08 Jan 2007
  • Poruke: 279
  • Gde živiš: Srbija

"NOT NULL" se deklariše u samoj bazi, to znači da atribut pri punjenju sloga ne sme biti prazan. Koliko se sećam, u samom Accessu to se postiže kad za određeni atribut, svojstvo "Allow Zero Length", postavi na "NO" !?! Proveri.

Preporučujem ti drugi primer koji je Strog postavio, jer, Query komponente, po meni, su jači mehanizam za komunikaciju sa bazom tim pre što koriste upitni jezik (SQL).

offline
  • Pridružio: 19 Nov 2006
  • Poruke: 140

Najlepse hvala.

Ko je trenutno na forumu
 

Ukupno su 1053 korisnika na forumu :: 41 registrovanih, 7 sakrivenih i 1005 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 3466 - dana 01 Jun 2021 17:07

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: 357magnum, A.R.Chafee.Jr., antonije64, Areal84, Asparagus, babaroga, Brana01, Cassius Clay, darkangel, Dimitrise93, draganca, FileFinder, hologram, HrcAk47, hyla, ikan, jackreacher011011, Karla, krkalon, laurusri, Leonov, ljuba, Luka Blažević, madza, milos.cbr, milutin134, novator, Outis, pein, RJ, S2M, saputnik plavetnila, Singidunumac, Sir Budimir, slonic_tonic, Toper, tubular, VJ, vladulns, Yugol33, zillbg