查询返回行数并分配给Int变量

时间:2011-11-20 04:11:32

标签: c# sql

我选择查询中的行数。我需要将它分配给一个int变量。我该如何做到这一点?

Display.aspx.cs

            **int TotalYesVotes;**
            Ratings GetYesVotes = new Ratings();
            DataTable DATotalYesVotes = GetYesVotes.GetTotalYesVotes();
            **//How do i assign that count to TotalYesVotes**

业务层

     public DataTable GetTotalYesVotes()
     {

         DLRatings DlTotalyesVotes = new DLRatings();
         return DlTotalyesVotes.GetTotalYesVotes();

     }

我的数据层

    public DataTable GetTotalNoVotes()
    {
        //get database connection string from config file
        string strConectionString o= ConfigurationManager.AppSettings["DataBaseConnection"];

        //set up sql
        string StrSql = "SELECT COUNT(*) AS Expr1 FROM Ratings WHERE (PicRating = 2) AND (PicID = 2)";

        DataTable dt = new DataTable();
        using (SqlDataAdapter daObj = new SqlDataAdapter(StrSql, strConectionString))
        {

            //fill data table
            daObj.Fill(dt);
        }
        return dt;
        }

1 个答案:

答案 0 :(得分:2)

您应该更改数据检索:

   public int GetTotalNoVotes()
    {
        //get database connection string from config file
        string strConectionString o= ConfigurationManager.AppSettings["DataBaseConnection"];

        SqlConnection conn = new SqlConnection(strConnectionString);
        conn.Open();

        SqlCommand oCommand = new SqlCommand("SELECT COUNT(1) AS Expr1 FROM Ratings WHERE (PicRating = 2) AND (PicID = 2)", conn);

        object oValue = oCommand.ExecuteScalar();

        conn.Close();

        if (oValue == DBNull.Value) {
           return 0;
        } else {
          return Convert.ToInt32(oValue);
        }
   }