Chyba: "Syntaktická chyba v vložiť do..." na ADO Recordset.Update

Preklady článku Preklady článku
ID článku: 189220 - Zobraziť produkty, ktorých sa tento článok týka.
Rozbaliť všetko | Zbaliť všetko

PRIZNAKY

Kedy volať metódu AddNew a potom volať metódu Update Množina záznamov, je vrátil nasledovnú chybu:
Poskytovateľa Microsoft OLE DB pre ovládače ODBC chybu "80040e21"
[Microsoft][Ovládač ODBC Microsoft Access 97] Syntaktická chyba v INSERT INTO vyhlásenie.
Pomocou ovládača Microsoft Access ODBC version4.00.4202.00 alebo novšiu, chybové hlásenie:
Chyba spustenia "-2147467259(80004005)":
[Microsoft][Ovládač programu Microsoft Access ODBC]Syntaktická chyba v vložiť do výkazu.

PRICINA

Táto chyba sa vyskytuje, ak takto sú splnené:
  • CursorType je adOpenForwardOnly (0).
  • CursorLocation je adUseServer.
  • Pole sa aktualizuje má priestor v názve poľa.
  • Používate ovládača Microsoft Access ODBC.
Volanie metódy AddNew a aktualizácia na strane servera premiestniteľným iba dopredu kurzor, je neplatnú operáciu. ActiveX Data Objects (ADO) kompenzuje Tento kód chybu vytváraním vložiť vyhlásenie na vykonanie operácie. Keď ADO vygeneruje vložiť, nie vymedzenie oblasti názvy. Preto sa názvy polí, ktoré obsahujú medzeru generovať Syntaktická chyba.

Napríklad platné vyhlásenie vložiť by takto:
   INSERT INTO Table ([field with space]) Values(value)
				
ADO vygeneruje nasledujúci kód:
   INSERT INTO Table (field with space) Values(value)
				

RIESENIE

Tu je niekoľko možných uznesenia:
  • Nepoužívajte medzery v názvy polí v databáze.
  • Použite CursorLocation adUseClient (3).
  • Nepoužívajte CursorType adOpenForwardOnly (0), ako napríklad adOpenKeyset (1), adOpenDynamic (2) alebo adOpenStatic (3).
  • Vykonať operáciu vytváraním svoj vlastný prehlásenie vložiť s oddeľovače názvy polí, namiesto pomocou AddNew a aktualizácia metódy.
  • Použite poskytovateľa Microsoft OLE DB pre Jet verzia 3.51 alebo 4.0 namiesto tohto poskytovateľa Microsoft OLE DB pre ODBC a ovládač programu Microsoft Access ODBC.

STAV

Spoločnosť Microsoft potvrdila, to je chyba v produktov spoločnosti Microsoft uvedených na začiatku tohto článku.

Vlastnosti

ID článku: 189220 - Posledná kontrola: 19. októbra 2011 - Revízia: 2.0
Informácie v tomto článku sa týkajú nasledujúcich produktov:
  • Microsoft Data Access Components 2.5
  • Microsoft Data Access Components 2.6
  • Microsoft Data Access Components 2.7
Kľúčové slová: 
kbbug kbdatabase kbdriver kbjet kbmt KB189220 KbMtsk
Strojovo preložené
DÔLEŽITÉ: Tento článok bol preložený pomocou softvéru na strojový preklad od spoločnosti Microsoft, nie prekladateľom. Spoločnosť Microsoft ponúka články preložené prekladateľmi aj strojovo preložené články, vďaka čomu máte možnosť prístupu ku všetkým článkom databázy Knowledge Base vo svojom jazyku. Strojovo preložený článok však nie je vždy perfektný. Môže obsahovať chyby týkajúce sa slovnej zásoby, syntaxe alebo gramatiky, podobne ako cudzinec môže robiť chyby, keď rozpráva vašim jazykom. Spoločnosť Microsoft nenesie zodpovednosť za akékoľvek nepresnosti, chyby alebo škody spôsobené akýmkoľvek nepresným prekladom obsahu alebo jeho použitím zo strany zákazníkov. Spoločnosť Microsoft softvér na strojový preklad pravidelne aktualizuje.
Pokiaľ chcete vidieť anglickú verziu článku, kliknite sem:189220

Odošlite odozvu

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com