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
- Dell Latitude 5320 -60% "Kis Gamer" Üzleti Profi Ultrabook 13,3" i5-1145G7 8/256 FHD IRIS Xe
- Apple IPad pro 12.9 4th gen 256GB wifi+sim 97%-os Gyári akku
- PlayStation 5 (PS5.) SLIM 1TB. SSD. Digital Edition & Sony PlayStation VR2. Virtuális szemüveg.
- Dell Precision 3580 i7-1370P//32GB DDR5 RAM// 1TB SSD/ RTX A500
- ÁRCSÖKKENTÉS Menő retró konfig: Q9550, Gigabyte P43, 4GB RAM, ASUS GT730
- Telefon felvásárlás!! iPhone 16/iPhone 16 Plus/iPhone 16 Pro/iPhone 16 Pro Max
- BESZÁMÍTÁS! HP 15S-FQ1045NH 15 FHD notebook - i5 1035G1 16GB DDR5 512GB SSD Intel Graphics WIN10
- Új FULL HD webkamera + Számla
- Huawei P30 Lite 128GB, Kártyafüggetlen, 1 Év Garanciával
- Új MSI Katana 15 Gamer FHD IPS 144Hz i7-13620H 10mag 16GB 512GB Nvidia RTX 4060 8GB Win11 Garancia
Állásajánlatok
Cég: FOTC
Város: Budapest