Forum Delphi.cz

Databáze => MS SQL => Téma založeno: Michal 20-02-2014, 16:58:31

Název: ADO -> MSSQL a ořezávání polí
Přispěvatel: Michal 20-02-2014, 16:58:31
Zdravím všechny.
Prosím o radu...

Aplikace používající ADO ve spojení s MSSQL mi po kompilaci v DXE2 (původně D2007) generuje chybu "Multiple-step OLE DB operation generated errors. Check each OLE DB status value, if available. No work was done" při pokusu o zápis řetězce do pole které má menší velkost.

Příklad...

Kód: [Vybrat]
Table1.Append();
Table1.FieldByName('pole1').AsString:= 'řetězec delší než velikost pole';
Table1.Post();

V D2007 došlo v takovém případě oříznutí řetězce v DXE2 dojde k vygenerování zmíněné chyby.

Poradíte mi někdo co s tím?

Michal
Název: Re:ADO -> MSSQL a ořezávání polí
Přispěvatel: Mi.Chal. 20-02-2014, 19:37:52
Já bych to tedy ořízl v aplikaci, respektive upravil to tak, aby to nešlo zadat. Dávat tam delší text než se vejde je prostě chyba a nechat to magicky oříznout pro uživatele nebude nejlepší přístup.

Nebo můžeš použít větší limit v db, případně varchar(max)