Ich muss das Thema nochmal aufgreifen, da ich zur Zeit vor dem gleichen Problem stehe.
Meine Anwendung lief bisher auf Access - zum Entwickeln ideal, die Datenbankverbindung mit OLE DB. Da läuft auch alles. Jetzt wollte ich die Anwendung auf SQL 2005 (Express) umstellen. Da dachte ich mir, da ich OLE DB verwendet habe und einen entsprechenden Provider auch für SQL 2005 habe, muss ich nichts ändern.
Der Gedanke war wohl aber ein großer Fehler. Keine meiner Abfragen funktioniert mehr - eben wegen der Parameter. Bei Access werden diese über die cmd.Parameters sauber ersetzt, bei SQL scheinbar nicht (warum auch immer).
Und mit der Antwort kann ich absolut nichts anfangen, da
- es unmöglich ist, alle Abfragen in SPs umzuwandeln (dann kann ich die Anwendung auch gleich neu schreiben, da sie komplett auf DB aufsetzt)
- das Ersetzen mit ? ist unmöglich, da bei einigen Abfragen die Parameter mehrmals verwendet werden ("... Feld1 LIKE @Text OR feld2 LIKE @Text ...") Wenn die ? der Reihenfolge nach abgearbeitet werden, müsste ich jede Abfrage ändern
Gibt es nicht eine vernünftige Lösung für das Problem?
Okay, mein Problem enbtsteht unter ASP.NET - Vorschläge also bitte hier:
http://www.aspnetzone.de/forums/thread/213751.aspx