当我使用 ExecuteScalar 命令时 returns 一个空对象

When i use ExecuteScalar command returns an empty object

我的代码有什么问题?

当我在 Visual Studio 2008 C# 中使用此代码块时,curid 输出值为 "",我的数据库中有 2 个值,因此它应该 return 2...

另外当我运行一个查询

select IDENT_CURRENT('tablename')

直接在 SQL Server Management Studio 中,它 return 是正确的值。

string curid = "";

cmd = new SqlCommand();
cmd.CommandType = CommandType.Text;
cmd.CommandText = "select IDENT_CURRENT('@tblname')";
cmd.Parameters.AddWithValue("@tblname", tableName);

cmd.Connection = con;
object obj = cmd.ExecuteScalar();
curid = obj.ToString();

将您的 CommandText 编辑为:

cmd.CommandText = "select IDENT_CURRENT(' " + tableName + "')";