从 C# 中的命令获取 int 值

Sta*_*ser 5 c# sql

string sql = "Select UserId From User where UserName='Gheorghe'";


SqlCommand cmd=new SqlCommand(sql, connection);
cmd.ExecuteScalar(); //this statement return 0
Run Code Online (Sandbox Code Playgroud)

但我想获取用户的ID?我怎么才能得到它?

dkn*_*ack 6

你需要SqlDataReader.

SqlDataReader提供一种从 SQL Server 数据库读取行的只进流的方法。

样本

string sql = "Select UserId From User where UserName='Gheorghe'";

SqlCommand cmd=new SqlCommand(sql, connection);
SqlDataReader rd = cmd.ExecuteReader(); 
if (rd.HasRows) {
  rd.Read(); // read first row
  var userId = rd.GetInt32(0);
}
Run Code Online (Sandbox Code Playgroud)

更多信息