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
- Eredeti játékok OFF topik
- AliExpress tapasztalatok
- sziku69: Fűzzük össze a szavakat :)
- gban: Ingyen kellene, de tegnapra
- Küszöbön az androidos PC-k
- Milyen billentyűzetet vegyek?
- Milyen légkondit a lakásba?
- Otthoni hálózat és internet megosztás
- Poco F5 - pokolian jó ajánlat
- Milyen széket vegyek?
- További aktív témák...
- ÁRCSÖKKENTÉS Menő retró konfig: Q9550, Gigabyte P43, 4GB RAM, ASUS GT730
- HIBÁTLAN iPhone 12 mini 64GB Green -1 ÉV GARANCIA - Kártyafüggetlen, MS3452
- LG 27UL500-W - 27" IPS - 3840x2160 4K - 60Hz 5ms - HDR10 - AMD FreeSync - 300 Nits - sRGB 99%
- Telefon felvásárlás!! iPhone 11/iPhone 11 Pro/iPhone 11 Pro Max
- ASUS TUF Dash F15 - 15.6"FHD 144Hz - i7-11370H - 16GB - 1,5TB SSD - RTX 3060 6GB - Win11
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest