wird der erste Teil ein Paar von Variablen des richtigen Typs einzurichten sein, um die richtigen Werte für die SQL-Parameter zu halten:
int iShipCode;
DateTime dtTodayPlusWeek;
Sobald Sie, dass, werden wir ein TryParse
Verfahren laufen auf Ihre aktuellen String-Variablen in unsere neuen Variablen zu konvertieren. Da ich die Variablennamen in Ihrer Methode nicht kannte, generierte ich sie (strShipCode, strTodayPlusWeek). Wenn die TryParse-Methode fehlschlägt, können Sie Standardwerte für die Abfrage einrichten. Ich habe 0 und Heute + 1 Woche benutzt.
if (!int.TryParse(strShipCode, out iShipCode)) {
iShipCode = 0;
}
if (!DateTime.TryParse(strTodayPlusWeek, out dtTodayPlusWeek)) {
dtTodayPlusWeek = DateTime.Now.AddDays(7);
}
Jetzt, da wir korrekte Typen für die Daten haben, können wir diese zu unserer bestehenden Abfrage als Parameter hinzufügen.
StringBuilder sbCmd = new StringBuilder();
sbCmd.Append("SELECT COUNT(*) ");
sbCmd.Append("FROM Trip ");
sbCmd.Append("WHERE (ShipCode = @ShipCode) ");
sbCmd.Append("AND Date < @TodayPlusWeek");
string txtCmd = sbCmd.ToString();
int iQryReturn;
using (SqlCommand cmd = new SqlCommand(txtCmd, conn)) {
cmd.CommandType = CommandType .Text;
cmd.Parameters.AddWithValue("@ShipCode", iShipCode;);
cmd.Parameters.AddWithValue("@TodayPlusWeek", dtTodayPlusWeek);
try {
conn.Open();
iQryReturn = (int)cmd.ExecuteScalar();
}
catch(Exception ex) {
iQryReturn = -1;
// Your Exception handling here
}
finally {
conn.Close();
// Your cleanup code if any
}
}
Nicht zu wissen, welche Art von DB-Setup Sie verwenden, habe ich dies in ADO für Sql Server geschrieben. Anzeige dort wird nur Wert zurückgegeben; Der Count (*), ich habe eine Integer-Variable für eine Rückkehr hinzugefügt. Wenn ein Fehler auftritt, wird dieser Wert auf -1 gesetzt.
Es liegt an Ihnen bei der Implementierung und den syntaktischen Änderungen, die für Ihre spezielle Anwendung benötigt werden.
Bitte überprüfen Sie, dass die Strings innerhalb der Methode sind und dass die Sql-Spalten wie int & Datetime –
die Spalten in der Tabelle sind bereits int und Datum –
'SqlParameter' nimmt einen Typparameter. Gib einfach den richtigen Typ an. –