Ich verwende in meinem Programm einen Schalter, mit dem ich zw. SQL-Server und Access umschalten kann. Zum Anmelden wird eine parametrisierte Abfrage ausgeführt. In Access ist das kein Problem.
<pre>
int i=0;
OleDbConnection conn = new OleDbConnection(util.GetConnString());
string sql = "SELECT ID FROM [Mitarbeiter] WHERE Benutzername=@BName AND Passwort=@BPass";
try
{
OleDbCommand cmd = new OleDbCommand(sql, conn);
cmd.Parameters.Add("@BName", txtName.Text);
cmd.Parameters.Add("@BPass", txtPasswort.Text);
conn.Open();
i = Convert.ToInt16(cmd.ExecuteScalar());
if (i!=0)
{
cmd.CommandText = "SELECT Benutzerstatus FROM Mitarbeiter WHERE ID=" + i.ToString();
Session.Add("Userstatus", cmd.ExecuteScalar().ToString());
}
}
catch (OleDbException ex)
{
Label1.Text = ex.Message;
lblInfo.Text = "Sie können nicht am System angemeldet werden.<br>Bitte benachrichtigen sie ihren Administrator!<br>" + ex.Message;;
}
</pre>
Wenn die Abfrage mit SQL-Server ausgeführt wird, kommt eine Fehlermeldung:
<pre>Code:
Die Variable '@BName' muss deklariert werden. </pre>
Was kann ich machen, um die Parameter zu verwenden???
(Ich habe in dem ganzen Programm solche Agfragen eingebaut. Wenn alles umgeschrieben werden müsste, wäre das ein zu großer Aufwand!)
<hr>
Andreas
<pre>
int i=0;
OleDbConnection conn = new OleDbConnection(util.GetConnString());
string sql = "SELECT ID FROM [Mitarbeiter] WHERE Benutzername=@BName AND Passwort=@BPass";
try
{
OleDbCommand cmd = new OleDbCommand(sql, conn);
cmd.Parameters.Add("@BName", txtName.Text);
cmd.Parameters.Add("@BPass", txtPasswort.Text);
conn.Open();
i = Convert.ToInt16(cmd.ExecuteScalar());
if (i!=0)
{
cmd.CommandText = "SELECT Benutzerstatus FROM Mitarbeiter WHERE ID=" + i.ToString();
Session.Add("Userstatus", cmd.ExecuteScalar().ToString());
}
}
catch (OleDbException ex)
{
Label1.Text = ex.Message;
lblInfo.Text = "Sie können nicht am System angemeldet werden.<br>Bitte benachrichtigen sie ihren Administrator!<br>" + ex.Message;;
}
</pre>
Wenn die Abfrage mit SQL-Server ausgeführt wird, kommt eine Fehlermeldung:
<pre>Code:
Die Variable '@BName' muss deklariert werden. </pre>
Was kann ich machen, um die Parameter zu verwenden???
(Ich habe in dem ganzen Programm solche Agfragen eingebaut. Wenn alles umgeschrieben werden müsste, wäre das ein zu großer Aufwand!)
<hr>
Andreas
Comment