Heute hat mich ein Freund gefragt, wie ich den Rückgabewert der gespeicherten Prozedur im Data Access Application Block erhalten kann. Ich habe festgestellt, dass dieses Problem in den Artikeln, die ich zuvor geschrieben habe, nicht erwähnt wurde folgt:
1. Erstellen Sie zunächst eine gespeicherte Prozedur mit einem Rückgabewert. Als Beispiel werde ich einfach eine gespeicherte Prozedur wie folgt erstellen:
Proc-Test erstellen
(
@id int
)
as
deklarieren @flag int
select * from person where id=@id
if @@rowcount > 0
setze @flag=1
anders
setze @flag=0
gib @flag zurück
Die Methode, mit der wir diesen Rückgabewert im Programm erhalten, lautet wie folgt:
[TestMethod]
public void TestReturnValue()
{
Datenbank db = DatabaseFactory.CreateDatabase();
DbCommand dbcomm = db.GetStoredProcCommand("test");
db.AddInParameter(dbcomm, "@id", DbType.Int32,1);
//Der Schlüssel ist hier, fügen Sie einen Parameter vom Typ ReturnValue hinzu
db.AddParameter(dbcomm, "@RETURN_VALUE", DbType.String, ParameterDirection.ReturnValue, "", DataRowVersion.Current, null);
db.ExecuteNonQuery(dbcomm);
int testvalue = (int)dbcomm.Parameters["@RETURN_VALUE"].Value
;
}
Mit dem obigen Code können wir den Rückgabewert der gespeicherten Prozedur im Programm erhalten.
Es gibt vielleicht viele Dinge, die ich in den Artikeln, die ich zuvor geschrieben habe, nicht erwähnt habe. Ich hoffe, dass mir mehr Freunde ihre Meinung mitteilen können.