Autor Téma: ADO -> MSSQL a ořezávání polí  (Přečteno 1437 krát)

Offline Michal

  • Příspěvků: 1
  • Karma: 0
    • Verze Delphi: 2007, XE2
ADO -> MSSQL a ořezávání polí
« kdy: 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

Offline Mi.Chal.

  • Guru
  • *****
  • Příspěvků: 566
  • Karma: 23
Re:ADO -> MSSQL a ořezávání polí
« Odpověď #1 kdy: 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)

 

S rychlou odpovědí můžete používat BB kódy a emotikony jako v běžném okně pro odpověď, ale daleko rychleji.

Upozornění: do tohoto tématu bylo naposledy přispěno před 120 dny.
Zvažte prosím založení nového tématu.

Jméno: E-mail:
Ověření:
Datový typ v Delphi, který má True a False: