读书人

请高手指导为何s不显示行数最后未通

发布时间: 2012-12-28 10:29:05 作者: rapoo

请高手指导为何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();就可以了
[其他解释]
要获得未通过审查的行数,具体怎么实现呢?请各位大虾具体一点,谢谢了。

读书人网 >C#

热点推荐