Hirdetés
Aktív témák
-
Fko
tag
Köszi. Közben megoldottam a problémát egyedül.
Így adtam át a TDateTimePicker-ben kiválasztott dátumot:
dtpDatum->Date.DateString()
így aztán stringként letároltam,
visszafelé pedig:
dtpDatum->Date = frmData->dsKolcsonzes->DataSet->Fields->FieldByName(''datum'')->AsDateTime;
Azért köszi! -
Fko
tag
Up!
-
Fko
tag
Akadt egy újjabb problémám közben.
Tehát a kölcsönzés táblában van egy olyan mező, hogy kölcsönzés dátuma.
Tehát ez egy dátum típusú mező, de nem sikerül sem sehogyan sem, hogy elfogadja a dátumot amit átadok neki.
Tehát én egy DateTimePicker-t használok ->Date.DateString()-et adom át az insertes Format()-nak.
Nem tudod, hogy kell átadni dátumot, hogy ne legyen type mismatch? -
Alan
aktív tag
-
Fko
tag
Nekiálltam újra az egész feladatnak.
Most még csak a szerző felvitelt és módosítást csináltam meg, de az most jól működik.
AnsiString t = Format(''INSERT into szerzok (vnev, knev) VALUES ('%s', '%s')'', ARRAYOFCONST((vezeteknev, keresztnev)));
Ahogy kisilabizáltam, kb. így kell használni a Format()-ot.
Köszi -
Alan
aktív tag
Nem lehet, hogy szóköz van a string-jeidben és nem teszi idézőjelbe őket a paraméterátadáskor?
Ha nem ez az ok, akkor viszont biztosan a BDE csuklása lesz. Úgy már én is jártam, hogy ugyanezt a hibaüzenetet adta, amikor (szerinte) nem megfelelő hosszúságú string-eket adtam át lekérdezés paramétereként. (Igaz, ez nem teljesen volt olyan, mint a te eseted, mert nálam szövegkonstansok is voltak a lekért mezők között, és ezeken akadt fenn a BDE.)
A megoldás az volt, hogy minden string paramétert ''kipárnáztam'' arra a hosszra, amit a lekérdezés első rekordjához használt. Ronda, de finom, mert a végén működött
Egyébként mindenképpen ajánlom a Format() függvényt, legalább egy kipróbálás erejéig. Azzal az SQL parancs valami ilyesmi formát fog ölteni:
INSERT INTO konyvek (Isbn, Cim, Szerzoazon, Peldanyszam, Ev, Kolcsonpsz) VALUES (''a'', ''b'', 1, 2, 2004, 2)
, ezt pedig meg kell zabálnia még a BDE-nek is. -
Fko
tag
Params-nál minden ok.
Amúgy Type mismatch in expression hibát dob EDBEngineError-ként.
De érdekes, hogy a másik táblám a két string mezővel pedig ugyanígy tökéletesen műxik és tudok is új rekordot felvenni.
Lehet, hogy a BDE-vel van valami gond? -
Alan
aktív tag
A fejlesztőrendszerben mit látsz a Params tulajdonságnál? Rendesen ki van töltve, minden paraméter szerepel, adattípusokkal együtt?
Esetleg egy ''frmData->qrAddKonyv->Close;'' még befigyelhetne a legelejére, bár ExecSQL()-nél talán nem kötelező.
Na és ha végképp nem megy és már nagyon sürgős, akkor javaslom a paraméterek behelyettesítését a Format() függvénnyel a Params[] tömb helyett. Csúnyább, de az tuti jó lesz, meg jóval könnyebb debugolni is. -
Fko
tag
Szóval az a házim builderből, hogy egy könyvtári nyilvántartó rendszer szerűséget csináljak.
Az elején még minden jól is ment, de most egyszerűen megakadtam és nem tudom mi a baj.
Van egy táblám :
konyvek
kid auto incrementes unique key
isbn string 10 karakter
cim string 100
szerzoazon int
peldanyszam int
ev int
kolcsonpsz int
ilyen mezőkkel.
Próbálok beszúrni a táblába, csináltam egy eljárást:
void __fastcall TfrmMain::KonyvBeszur(AnsiString kisbn, AnsiString kcim ,int kszerzoazon, int kpsz, int kev) {
frmData->qrAddKonyv->ParamByName(''k1'')->AsString = ''fd'';
frmData->qrAddKonyv->ParamByName(''k2'')->AsString = ''fdss'';
frmData->qrAddKonyv->ParamByName(''k3'')->AsInteger = 1;
frmData->qrAddKonyv->ParamByName(''k4'')->AsInteger = 20;
frmData->qrAddKonyv->ParamByName(''k5'')->AsInteger = 10;
frmData->qrAddKonyv->ParamByName(''k6'')->AsInteger = 20;
/* frmData->qrAddKonyv->ParamByName(''k1'')->AsString = kisbn;
frmData->qrAddKonyv->ParamByName(''k2'')->AsString = kcim;
frmData->qrAddKonyv->ParamByName(''k3'')->AsInteger = kszerzoazon;
frmData->qrAddKonyv->ParamByName(''k4'')->AsInteger = kpsz;
frmData->qrAddKonyv->ParamByName(''k5'')->AsInteger = kev;
frmData->qrAddKonyv->ParamByName(''k6'')->AsInteger = kpsz;*/
frmData->qrAddKonyv->ExecSQL();
}
Tehát a kikommentezett rész az ahogy alapból kellene működnie. A másik táblánál így tökéletesen működik.
A felső csak egy próba, hogy mi lehet baj, de így sem megy.
Egyszerűen én már nem tudom mit rontottam el.
Ja és az insert:
INSERT INTO konyvek (Isbn, Cim, Szerzoazon, Peldanyszam, Ev, Kolcsonpsz) VALUES (:k1, :k2, :k3, :k4, :k5, :k6)
Valaki légyszíves segítsen, jövő héten kell leadnom.
Aktív témák
- Szép állapotban Lenovo ThinkPad T14s Gen 4 i5-1335u/16 GB/256 SSD/FHD+/IPS/Garancia 2027
- HP Elitebook 830 G5,FHD,13.3",i5-8350U,8GB DDR4,256GB SSD,WIN11,IR KAMERA
- AKCIÓ!!! Sosemhasznált! HP OmniBook 5 i7-1355U 16GB 1TB 16" FHD+ Gar.: 1 év
- Intel Core i3 10105F processzor
- Bomba ár! HP ZBook 15u G3 - i7-6G I 8GB I 256SSD I Radeon R7 I Cam I W11 I Garancia!
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest


