Command.ExecuteNonQuery() führt eine T-SQL-Anweisung oder eine gespeicherte Prozedur ohne Rückgabewert aus. Es wird im Allgemeinen zum Einfügen, Löschen, Aktualisieren und anderen Vorgängen verwendet, um die Anzahl der betroffenen Zeilen zurückzugeben.
Command.ExecuteRader() führt eine Abfrage aus, die eine Ergebnismenge zurückgibt
Command.ExecuteScalar() führt eine Abfrage aus, die einen einzelnen Wert zurückgibt. Der Rückgabewerttyp ist Objekt.
Wird im Allgemeinen zum Ausführen von Abfragen mithilfe von Aggregatfunktionen wie Anzahl, Max, Min, Durchschnitt usw. verwendet.
Verbindung.CreateCommand()
Erstellen Sie ein Command-Objekt basierend auf dem aktuell verknüpften Objekt
int?AddressId;
Definieren Sie einen nullbaren Werttyp
AddressId.HasValue
Bestimmen Sie, ob es einen Wert hat
AddressId.Value.ToString();
Konvertieren Sie seinen Wert in den String-Typ
commandText kann 2 durch „;“ getrennte SQL-Anweisungen verwenden, um mehrere Ergebnismengen zurückzugeben.
Verwenden Sie NextResult in DataReader, um die nächste Ergebnismenge abzurufen.
Verwenden von Parameterobjekten im Befehl
1,0
sqlCommand.Parameters.Add("@pname",SqlDbType.VarChar).Value=this.textBox1.Text;
2,0
sqlCommand.Parameters.AddWithValue("@pname",this.textBox1.Text);
Rufen Sie ein Parameterobjekt anhand des Parameterindex oder -namens ab
sqlCommand.Parameters[index|pname]
Verwenden Sie Transaktionen
1Erstellen Sie ein Transaktionsobjekt
XxxTransaction tran = XxxConnection.BeginTransaction()
Sql:SqlTransaction tran = SqlConnection.BeginTransaction();
2 Geben Sie eine Transaktion für das Command-Objekt an
sqlCommand.Transaction = tran
3Befehl ausführen
sqlCommand.ExecuteNonQuery()
4Commit- oder Rollback-Transaktion
tran.Commit()
tran.Rollback()
Wenn die Transaktion nicht beendet wurde, können die betreffenden Datensätze standardmäßig nicht bearbeitet werden und sind gesperrt. Dies ist die Isolationsstufe der Transaktion. Wenn Sie die Isolationsstufe beim Öffnen einer Transaktion ändern möchten, können Sie deren Isolationsstufe angeben.
-