Heim > Datenbank > MySQL-Tutorial > Wie behebt man den Fehler „Der Variablenname ‚@' wurde bereits deklariert' im SQL-Abfragebatch?

Wie behebt man den Fehler „Der Variablenname ‚@' wurde bereits deklariert' im SQL-Abfragebatch?

Susan Sarandon
Freigeben: 2025-01-01 08:24:11
Original
715 Leute haben es durchsucht

How to Fix

Variablennamenskonflikt im SQL-Abfrage-Batch

Beim Ausführen von SQL-Abfragen ist es wichtig, die Eindeutigkeit der Variablennamen innerhalb eines Batches oder einer gespeicherten Prozedur sicherzustellen . Der Fehler „Der Variablenname ‚@‘ wurde bereits deklariert“ weist darauf hin, dass mehrere Variablen mit demselben Namen definiert wurden.

Um dieses Problem zu beheben, konzentrieren Sie sich auf den bereitgestellten Codeblock:

private void btn_lock2_Click(object sender, EventArgs e)
{
    // ...
    for (long counter = from; counter <= to; counter++)
    {
        string upd = "update card set LockState=@lockstate, card_descr=@card_descr where [cardNumber] = N'{0}'";
        rwd.command.CommandText = upd;
        rwd.command.Parameters.Add(new SqlParameter("@LockState", SqlDbType.NVarChar)).Value = 1;
        rwd.command.Parameters.Add(new SqlParameter("@card_descr", SqlDbType.NVarChar)).Value = txt_desc2.Text;
        // ...
    }
}
Nach dem Login kopieren

Der Fehler liegt im wiederholten Hinzufügen von Parametern innerhalb der Schleife. Verschieben Sie stattdessen die Parametererstellung außerhalb der Schleife:

// Moved outside the loop
rwd.command.Parameters.Add(new SqlParameter("@LockState", SqlDbType.NVarChar));
rwd.command.Parameters.Add(new SqlParameter("@card_descr", SqlDbType.NVarChar));

for (long counter = from; counter <= to; counter++)
{
    // ...
    rwd.command.Parameters["@LockState"].Value = 1;
    rwd.command.Parameters["@card_descr"].Value = txt_desc2.Text;
    // ...
}
Nach dem Login kopieren

Erwägen Sie alternativ, die Parameter innerhalb der Schleife zu löschen:

for (long counter = from; counter <= to; counter++)
{
    rwd.command.Parameters.Clear();
    // ...
}
Nach dem Login kopieren

Durch Befolgen dieser Empfehlungen können Sie den Fehler beseitigen und sicherstellen die Einzigartigkeit von Variablennamen in Ihren SQL-Abfragen.

Das obige ist der detaillierte Inhalt vonWie behebt man den Fehler „Der Variablenname ‚@' wurde bereits deklariert' im SQL-Abfragebatch?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage