Poslao: 31 Jan 2007 12:03
|
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.
|
|
Poslao: 31 Jan 2007 15:13
|
offline
- loshmi_sr

- Građanin
- 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.
|
|
|
|
Poslao: 31 Jan 2007 16:13
|
offline
- beli0135

- Executor
- 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...
|
|
|
|
Poslao: 31 Jan 2007 18:02
|
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
|
|
|
|
Poslao: 31 Jan 2007 18:47
|
offline
- Strog

- 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 .
|
|
|
|
Poslao: 01 Feb 2007 00:08
|
offline
- loshmi_sr

- Građanin
- 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).
|
|
|
|
|