OleDB, Access und ein SQL-Kommando....

10/09/2007 - 17:13 von Paul Werkowitz | Report spam
Hallo Netizens,

welchen offensichtlichen Fehler mache ich hier? Ich möchte die
SQL-Anweisung

select distinct MasterId from Prod_Lnk_Kategorie where RecState = 1
and SlaveId in (1,2,3,4)

mit einem OleDB-Provider und DataReader ausführen. Der sich ergebende
Recordset ist jedoch immer leer, obwohl genau 1 Satz gefunden werden
müsste. Das gleiche Statement in Microsoft-Access direkt eingegeben
funktioniert aber.

Gleiches Problem habe ich mit inner joins. Die gehen in meinem Programm
auch nicht, aber in Access vollkommen korrekt.

Merkwürdigerweise funktionieren einfachere Anweisungen wie z.B.

select MasterId from Prod_Lnk_Kategorie where RecState = 1

mit dem OleDbProvider einwandfrei.

Die sich für mich daraus eigentlich ergebende logische Folge wàre, dass der
OleDbProvider mit mehr als den allereinfachsten SQL-Anweisungen überfordert
ist - aber kann denn das sein? Insbesondere weil das steinalte Access die
Sachen korrekt ausführt. Ich glaube es nicht ganz wer weiß hier Rat?


Greetz
Paule
 

Lesen sie die antworten

#1 Stefan Falz [MVP]
10/09/2007 - 18:18 | Warnen spam
Hallo Paul,

"Paul Werkowitz" schrieb:

select distinct MasterId from Prod_Lnk_Kategorie where RecState = 1
and SlaveId in (1,2,3,4)

mit einem OleDB-Provider und DataReader ausführen. Der sich ergebende
Recordset ist jedoch immer leer,



Recordset? Du meinst DataTable, o.à.!?

Die sich für mich daraus eigentlich ergebende logische Folge wàre, dass der
OleDbProvider mit mehr als den allereinfachsten SQL-Anweisungen überfordert
ist - aber kann denn das sein?



Nö. Und ist auch nicht so. Ich vermute, dass Du auf die falsche Datenbank
zugreifst. Falls nicht, stell Datenbank (mit ein paar Beispieldatensàtzen
und dein Skript mal als Download zur Verfügung.

Tschau, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community

Ähnliche fragen