这已经困扰了几天而无法解决。
当我执行查询以将记录插入数据库时,我使用RETURN SCOPE_IDENTITY()
并返回值-1。
这是调用方法
的代码NewFolder newFolder = new NewFolder(myFilePath, myFolderDesc);
tempInt = 0;
tempInt = balconette.AddNewFolder(newFolder);
MessageBox.Show("" + tempInt);
它被称为
的方法private String connString = @"Data Source=ERNIE\SQLEXPRESS;Initial Catalog=RLT;Integrated Security=True;Connect Timeout=15;Encrypt=False;TrustServerCertificate=True;ApplicationIntent=ReadWrite;MultiSubnetFailover=False";
private int tempValue;
public int AddNewFolder(NewFolder newFolder)
{
tempValue = 0;
using (SqlConnection sqlCon = new SqlConnection(connString))
{
SqlCommand sqlComm = new SqlCommand("usp_FileLocation_Insert", sqlCon);
sqlComm.CommandType = CommandType.StoredProcedure;
sqlComm.Parameters.Add("@FileLocPath", SqlDbType.NVarChar).Value = newFolder.StrFolderPath;
sqlComm.Parameters.Add("@FileLocDesc", SqlDbType.NVarChar).Value = newFolder.StrFolderDesc;
sqlCon.Open();
tempValue = sqlComm.ExecuteNonQuery();
sqlCon.Close();
}
return tempValue;
}
存储过程如下
ALTER PROCEDURE [dbo].[usp_FileLocation_Insert]
@FileLocPath NVARCHAR(150),
@FileLocDesc NVARCHAR(50)
AS
BEGIN
SET NOCOUNT ON;
INSERT INTO FileLocation(FileLocationPath, FilelocationDesc)
VALUES (@FileLocPath, @FileLocDesc)
RETURN SCOPE_IDENTITY()
END
结果看起来像这样
有没有人可以解决一个可能的解决方案,但我也能找到它为什么会发生?
答案 0 :(得分:1)
我相信你想要ExecuteScalar而不是ExecuteNonQuery。