方法'ToString'的重载没有1个参数

trx*_*trx -3 c# sql-server asp.net asp.net-web-api

我有一个Web API运行存储过程并从表中返回记录。该记录包含一个称为CounterSeq的int字段

[HttpGet]
public IHttpActionResult Get(string Account)
{
  // other code for connecting to the SQL seerver and calling the stored procedure
 reader = command.ExecuteReader(); 
 List<QueryResult>qresults = new List<QueryResult>();
  while (reader.Read())
 {  
   QueryResult qr = new QueryResult();
   qr.AccountID = reader["AccountID"].ToString();
   qr.CounterSeq = reader["CounterSeq"].ToString("000");
   qresults.Add(qr);
 }
 DbConnection.Close();
 return Ok(qresults); 
Run Code Online (Sandbox Code Playgroud)

使CounterSeq的响应为“ 001”,“ 010”,“ 100”。它thows像错误No overload for method 'ToString' takes 1 argumentsreader["CounterSeq"].ToString("000");

小智 6

reader["CounterSeq"]返回,object因此首先您必须将其强制转换为int,然后ToString("000")像下面这样调用:

((int)reader["CounterSeq"]).ToString("000")
Run Code Online (Sandbox Code Playgroud)