首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

请高手指导为何s不显示行数,最后未通过审查条数都是零条。错哪了么?求指导,小弟我是菜初学者

2012-12-28 
请高手指导为何s不显示行数,最后未通过审查条数都是零条。哪里错了么?求指导,我是菜菜鸟 protected void bt

请高手指导为何s不显示行数,最后未通过审查条数都是零条。哪里错了么?求指导,我是菜菜鸟
 protected void btn_Check_Click(object sender, EventArgs e)
    {
        string tb = "";
        tb = bd.Table_Detail(ddl_foreign.SelectedIndex);
        string lg = bd.IsTable(tb);

        //未通过审查的词条数
        string sqlStr1 = "select Chinese," + lg + ",operation,state,username from " + tb 
            + " where state = '未通过审查' and username = '"+Session["Name"].ToString()+"'";
        SqlCommand cmd = new SqlCommand();
        SqlConnection con = new SqlConnection(System.Configuration.ConfigurationManager.AppSettings["constr"].ToString());
        con.Open();
        cmd.CommandText = sqlStr1;
        cmd.Connection = con;
        int s = cmd.ExecuteNonQuery();
        int j = 0;   
        if (s > 0)
        {
            j = s;
        }
        else
        {
            j = 0;
        }
        con.Close();

        //Gridview显示
        string sqlStr = "select Chinese as 中文,"+lg+" as 外文,operation as 操作,state as 审查状态,username as 用户名 from "+tb
            +" where state !='' and username='"+Session["Name"].ToString()+"'";
        //tb = bd.Table_Detail(ddl_foreign.SelectedIndex);
        SqlConnection myConn = new SqlConnection(System.Configuration.ConfigurationManager.AppSettings["constr"].ToString());
        SqlDataAdapter myAdapter = new SqlDataAdapter(sqlStr,myConn);
        
        DataSet myds = new DataSet();
        
        myConn.Open();
        myAdapter.Fill(myds);
        GridView_gj.DataSource = myds;
        int i = myds.Tables[0].Rows.Count;
        int w = i - j;
        Label1.Text = w.ToString();//待审查
        Label2.Text = j.ToString();//未通过审查
        GridView_gj.DataBind();


       
    }
[最优解释]
建议再好好看看 ADO.NET ,你第一个 select 不能用 cmd.ExecuteNonQuery();

应该用 ExecuteDataReader 或者用 DataAdapter.Fill 获得
[其他解释]
如果只是返回一列,可以用
string sqlStr1 = "select count(1) from " + tb 
             + " where state = '未通过审查' and username = '"+Session["Name"].ToString()+"'";

然后
int s = (int)cmd.ExecuteScalar();就可以了
[其他解释]
要获得未通过审查的行数,具体怎么实现呢?请各位大虾具体一点,谢谢了。

热点排行