[.NET] Verschil tussen OleDb en ODBC

Pagina: 1
Acties:

  • dixon
  • Registratie: Januari 2001
  • Laatst online: 01-01 21:15
Ik ben pas OleDb gaan gebruiken vanwege een ander probleem wat ik eerder had. Kwam er meteen achter dat OleDb sneller was als het ging om veel connecties tegelijk :) Feest. Maar nu is het wel gek dat hij sommige SQL Queries niet pakt, die ODBC wel pakt, en MS Access vind ze ook goed.

Ik ben er bijv. al achter gekomen dat OleDb het niet goed vind als ik een veldnaam gebruik die Index heet. Beetje begrijpelijk, maar alles wat ie meldt is dat er een Syntax Error in je statement zit. Voer je het statement uit met ODBC of in Access, niets aan het handje.

Nou veld gerenamed iIndex opgelost, was ook mn enigste veldt zonder hungarian maar kvond Index wel toepasselijk :) (eigen index).

Het probleem nu, met OleDb een DataReader met het volgende SQL Statement, leest geen data in:
SELECT * FROM tbl_TabelNaam WHERE veldnaam like 'w*'

Doe ik dit in MS Access of met ODBC, krijg een hele rij data binne, met oledb, niet goed. Bij beide datareaders (oledb en odbc) doe ik uiteraard een ExecuteReader. Ikke niet snap.

edit: misschien moet iemand de titel van dit topic aanpassen :)

[ Voor 4% gewijzigd door dixon op 10-08-2004 20:48 ]

Wat een onzin..


  • whoami
  • Registratie: December 2000
  • Laatst online: 09:01
Welke databank gebruik je?
Index is een reserved word, en die zou je zowiezo moeten vermijden als namen.
Afhankelijk van het type DB dat je gebruikt, kan je die reserved words escapen:
in SQL Server en Access doe je dat met blokhaken ([]) en in MySQL doe je dat met backticks.

Daarbij gebruik je ook beter % als wildcard-character ipv *.
Access wil dan misschien wel een * (ik denk dat ie % ook wel zal slikken), maar als je het via een 'driver' aanspreekt, dan moet je wel % gebruiken.
Verander die * dus in %, zet blokhaken rond de reserved words, en je query zal werken.

[ Voor 26% gewijzigd door whoami op 10-08-2004 20:50 ]

https://fgheysels.github.io/


  • dixon
  • Registratie: Januari 2001
  • Laatst online: 01-01 21:15
Thnx, dit soort dingen zou ik eigenlijk moeten weten, toch? :)
Ik ga meteen % proberen, snelle jelle hehe

Wat een onzin..


  • dixon
  • Registratie: Januari 2001
  • Laatst online: 01-01 21:15
Wonderbaarlijk het werkt :)

Wat een onzin..