Ich habe einen Code hinter Methode, die SqlDataSource-Objekt verwendet, um Daten aus der Datenbank abzurufen, wird dann als Datenquelle für meine Rasteransicht verwendet, um die Datensätze anzuzeigen. Ich muss meiner WHERE-Klausel meiner SelectCommand-Abfrage bedingt eine weitere Bedingung hinzufügen und die Daten über Parameter an die Abfrage übergeben. Wie mache ich das?Wie verwenden Sie parametrisierte Abfragen in SqlDataSource.SelectCommand in Code hinter?
SqlDataSource sds = new SqlDataSource();
sds.SelectCommand = "Select CustomerName, LoanNumber, LoanDate FROM Loan WHERE IsActive = 1 ";
if (filterRecord != "All") { // DDL filter on page, all records by default
sds.SelectCommand += "AND LoanType = ??"; //this is where I need to parameterize my query
}
Ich dachte, so etwas wie
if (filterRecord != "All") {
sds.SelectCommand += "AND LoanType = @LoanType";
sds.SelectParameters.Add("@LoanType", "Mortgage");
}
Aber das scheint nicht zu funktionieren.
'Aber das scheint nicht zu funktionieren. Was funktioniert nicht? Gibt es eine Ausnahme? – LarsTech
Es heißt "Muss skalare Variable" @LoanType "deklarieren. – wizloc
Haben Sie den' LoanType = ?? 'oder den' LoanType = @ LoanType'? – LarsTech