Variable nicht deklariert?
-
Hallo zusammen,
ich habe da ein Problem mit der Übergabe einer Variable über die URL.
Bei folgendem Quelltext
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="Provider=SQLOLEDB;Data Source=SERVER-SQL;Persist Security Info=True;Password=;User ID=;Initial Catalog=p2plustest"
SelectCommand="SELECT DISTINCT AUFTRAG.AUFTRAG, AUFTRAG.ADRESSE, ADRESSE.FIRMA, ADRESSE.FIRMA1, ADRESSE.STRASSE, ADRESSE.LAND, ... FROM ADRESSE INNER JOIN AUFTRAG ON ADRESSE.ADRESSE = AUFTRAG.ADRESSE ... WHERE (AUFTRAG.AUFTRAG = @auftrag) AND (AUFTRAGPOS.STATUS < 7)" ProviderName="System.Data.OleDb">
<SelectParameters>
<asp:QueryStringParameter Name="auftrag" QueryStringField="auftrag" Type="String" />
</SelectParameters>
</asp:SqlDataSource>bekomme ich folgende Fehlermeldung:
System.Data.OleDb.OleDbException: Die Variable '@auftrag' muss deklariert werden.
Der Wert wird allerdings in der URL übergeben. Der Seitenaufruf sieht so aus:
http://dat1002/p2plus-f20/neue_seiten/dispo-packschein.aspx?auftrag=02022092
Hat jemand eine Ahnung, woran das liegen könnte?
Ich wäre sehr dankbar, wenn ihr mir schnell helfen könntet, da das Projekt mitlerweile überfällig ist.Danke im Vorraus
Olli
-
Hallo zusammen,
ich hab' das Problem nun gelöst.
Man muß in OLE-DB Verbindungen die Variablen im SELECT mit ? angeben, habe deshalb auf den nativen SQL-Treiber umgestellt.
Für alle, die es interessiert, hier der Code:
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="Data Source=SERVER-SQL;Initial Catalog=p2plustest;Persist Security Info=True;User ID=******;Password=******"
SelectCommand="SELECT DISTINCT AUFTRAG.AUFTRAG, AUFTRAG.ADRESSE, ADRESSE.FIRMA, ADRESSE.FIRMA1, ADRESSE.STRASSE, ADRESSE.LAND, ADRESSE.PLZ, ADRESSE.ORT, AUFTRAGPOS.TERMIN, AUFTRAGPOS.ARTIKEL, ARTIKEL.NAME, AUFTRAGPOS.MENGE, ... FROM ADRESSE INNER JOIN AUFTRAG ON ADRESSE.ADRESSE = AUFTRAG.ADRESSE INNER JOIN AUFTRAGPOS ON AUFTRAG.AUFTRAG = AUFTRAGPOS.AUFTRAG ... WHERE (AUFTRAG.AUFTRAG = @auftrag) AND (AUFTRAGPOS.STATUS < 7)" ProviderName="System.Data.SqlClient">
<SelectParameters>
<asp:QueryStringParameter Name="auftrag" QueryStringField="auftrag" Type="String" />
</SelectParameters>
</asp:SqlDataSource>Gruß
Olli