2009-08-06 3 views
0

AFAIK ado.net Datenreader und Datasets scheinen Joins in SQL Statements nicht zu unterstützen.Was ist ein Ado.net-Äquivalent dieses Ado-Samples?

Ist es möglich, die ado.net Äquivalent dieses ado recordset abrufen nur die in diesem ado/vb Code dargebotenen Informationen mit: Ich bitte die Frage auf diese Weise, wie ich bin versucht, weitgehend auf die Umwandlung von ado zu automatisieren zu ado.net

Dim myconn As New ADODB.Connection  
myconn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.3.51;Data Source=c:\TestDB1.mdb;Jet OLEDB:System Database=c:\TestDB1.mdw;User ID=TestDB;Password=123456;"  
myconn.Open()  
Dim myrec As New ADODB.Recordset  
Dim str1 As String = "select TableA.field0, tableB.field0 from TableA inner join TableB on TableA.field1 = TableB.field1 where tableA.field3 > 0 order by tableA.field4" 
myrec.Open(str1, myconn) 
+0

Woher haben Sie gehört, dass ADO.NET Joins nicht unterstützt? ADO.NET kümmert sich nicht darum, was in Ihren SQL-Abfragen enthalten ist, es gibt Ihnen gerne einen DataReader oder füllt ein DataSet für alle Abfragen, die der Datenbank-/Datenbanktreiber verarbeiten kann. – nos

+0

Als ich sql mit Joins verwendete, warf es eine Laufzeitausnahme auf "join not supported" und als ich nachsah, las ich, dass zB die Fill-Methode des Dataadaptors nur an einer Tabelle arbeitete – kjack

Antwort

2

Natürlich unterstützt ADO.NET Joins!

Siehe ADO.NET: Retrieve Data using OLE DB quickstart Tutorial.

+0

ich schaute, aber es gibt keine Beispiele mit Joins – kjack

+0

Joins in der Select-Anweisung, ich meine – kjack

+0

Aber haben Sie versucht, einen hinzuzufügen? Es wird funktionieren, glaub mir. –