每当我运行下面的代码我得到的预期输出
private int NewBorrower(string givenName, string surname)
{
int returnValue = 0;
using (conn)
{
conn.Open();
string sql = "AddBorrower";
cmd = new SqlCommand(sql, conn);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add("@givenName", SqlDbType.NVarChar).Value = givenName;
cmd.Parameters.Add("@surname", SqlDbType.NVarChar).Value = surname;
SqlParameter id = cmd.Parameters.Add("@id", SqlDbType.Int);
id.Direction = ParameterDirection.ReturnValue;
try
{
cmd.ExecuteNonQuery();
returnValue = (int)cmd.Parameters["@id"].Value;
}
catch (Exception e)
{
Console.WriteLine("Commit Exception Type: {0}", e.GetType());
Console.WriteLine(" Message: {0}", e.Message);
}
}
return returnValue;
}
当从前端来看,我得到了我想要的结果,但是当我检查数据库时未在表中显示出来。
良好的措施这也被用于存储过程
CREATE PROCEDURE [dbo].[AddBorrower]
@givenName nvarchar(50),
@surname nvarchar(50),
@id int = NULL OUTPUT
AS
INSERT INTO llBorrowers (givenName, surname)
VALUES (@givenName, @surname);
SET @id = SCOPE_IDENTITY();
RETURN @id
我一直在使用双方的C#和SQL双方交易尝试,并没有在所有的工作。 我还要提到的是它是一个本地数据库,但我不知道应该影响它。