SQL Select in LinQ umwandeln?

02/01/2009 - 10:10 von Harald Bacik | Report spam
Hallo NG

Ich habe meine Software so umgestellt, dass ich beim Starten des Programms
alle Daten der Datenbank einlese & dann direkt aus dem Speicher arbeite.
Grund dafür ist, dass die Daten auf einem Server im Internet liegen & um
dadurch Traffic zu sparen. Soweit, so gut. - Jetzt meine 2 Fragen:
1) Wie mache ich es, dass ich aus den Vorhanden Daten des DataSets eine LinQ
Abfrage überhaupt starten kann.
2) Kann mir jemand die folgende mySQL Anweisung in ein LinQ übersetzen?

Dim SQL As String = _
"Select Distinct Durchmesser as Durchmesser from iprolensrange WHERE " & _
"(:HSRe*iprolensrange.cyl_shs_von/100+:HSRe BETWEEN
iprolensrange.shs_von/100 and iprolensrange.shs_bis/100) AND " & _
"(:HSRe*iprolensrange.cyl_shs_bis/100+:HSRe BETWEEN
iprolensrange.shs_von/100 and iprolensrange.shs_bis/100) AND " & _
"(:cylRe BETWEEN iprolensrange.cyl_von/100 and
iprolensrange.cyl_bis/100) AND " & _
"(:HSLi*iprolensrange.cyl_shs_von/100+:HSLi BETWEEN
iprolensrange.shs_von/100 and iprolensrange.shs_bis/100) AND " & _
"(:HSLi*iprolensrange.cyl_shs_bis/100+:HSLi BETWEEN
iprolensrange.shs_von/100 and iprolensrange.shs_bis/100) AND " & _
"(:cylLi BETWEEN iprolensrange.cyl_von/100 and
iprolensrange.cyl_bis/100) AND " & _
"(CURDATE() Between IfNull(iprolensrange.lieferbar_ab, CurDate())
And " & _
"IfNull(iprolensrange.lieferbar_bis, CurDate())) order by
Durchmesser "

DANKE schon im Voraus!!!!

PS:- Alles Gute im neuen Jahr!!!!!!!
 

Lesen sie die antworten

#1 Peter Fleischer
02/01/2009 - 10:41 | Warnen spam
"Harald Bacik" schrieb im
Newsbeitrag news:
...
1) Wie mache ich es, dass ich aus den Vorhanden Daten des DataSets eine
LinQ
Abfrage überhaupt starten kann.



Hi Harald,
LinQ ist eine in die Programmiersprache eingebettete Abfragesprache. Du
musst also deinen LinQ-Ausdruck in der Programmiersprache schreiben.
Gestartet wird ein Programmstück mit einer LinQ-Anweisung, wenn die
entsprechend LinQ-Konstrukt bereitzustellenden Daten auch benötigt
(zugewiesen) werden.

2) Kann mir jemand die folgende mySQL Anweisung in ein LinQ übersetzen?



MySQL unterstützt kein Linq to SQL (soweit mir bekannt ist). Du musst also
alle Daten in den Client laden und dann dort im Programmcode ein LinQ to
DataSet absetzen. Wenn du die Daten in eine typisierte Tabelle geladen hast,
auf die die Verweisvariable "iprolensrange" zeigt, dann könnte die Abfrage
etwa so aussehen:

Dim res = from r in iprolensrange.AsEnumerable
where r.XXX > r.YYY and ... and r.Islieferbar_bisNull
order by r.Durchmesser Select distinct r.Durchmesser


Viele Grüsse
Peter

Ähnliche fragen