为什么我的这一段没有运行呢
if (ds.Tables[0].Rows.Count > 0)
            {
                DataRow dt2;
                dt2 = ds.Tables[0].Rows[0];
                textBox5.Text = dt2["工点名称"].ToString();
            }
我的主要目的就是显示textbox5啊···        private void RedataGrideView()
        {
            string ConnectString = "Server=PC-201106241704;Integrated Security=True;" + "DataBase=chengdu";
            SqlConnection Conn = new SqlConnection(ConnectString);
            string tpSql = "select * from XStpTable where 工点名称 = '" + listBox1.Text + "'";
            string dcSql = "select * from XSdcTable where 工点名称 = '" + listBox1.Text + "'";
            string kcSql = "select * from XSkcTable where 工点名称 = '" + listBox1.Text + "'";
            string tjSql = "select * from XStjTable where 工点名称 = '" + listBox1.Text + "'";
            string sjSql = "select * from XSsjTable where 工点名称 = '" + listBox1.Text + "'";            SqlDataAdapter myDataAapter = new SqlDataAdapter(tpSql, Conn);
            DataSet ds = new DataSet();
            myDataAapter.Fill(ds, "tp");
            SqlDataAdapter myDataAapter1 = new SqlDataAdapter(dcSql, Conn);
            myDataAapter1.Fill(ds, "dc");
            SqlDataAdapter myDataAapter2 = new SqlDataAdapter(kcSql, Conn);
            myDataAapter2.Fill(ds, "kc");
            SqlDataAdapter myDataAapter3 = new SqlDataAdapter(tjSql, Conn);
            myDataAapter3.Fill(ds, "tj");
            SqlDataAdapter myDataAapter4 = new SqlDataAdapter(sjSql, Conn);
            myDataAapter4.Fill(ds, "sj");
            dataGridView1.DataSource = ds.Tables["tp"].DefaultView;
            //dataGridView1.Columns[0].Visible = false;
            //dataGridView1.Columns[1].Visible = false;
            dataGridView2.DataSource = ds.Tables["dc"].DefaultView;
            //dataGridView2.Columns[0].Visible = false;
            //dataGridView2.Columns[1].Visible = false;
            dataGridView3.DataSource = ds.Tables["kc"].DefaultView;
            //dataGridView3.Columns[0].Visible = false;
            //dataGridView3.Columns[1].Visible = false;
            dataGridView4.DataSource = ds.Tables["sj"].DefaultView;
            //dataGridView4.Columns[0].Visible = false;
            //dataGridView4.Columns[1].Visible = false;
            dataGridView5.DataSource = ds.Tables["tj"].DefaultView;
            //dataGridView5.Columns[0].Visible = false;
            //dataGridView5.Columns[1].Visible = false;            if (ds.Tables[0].Rows.Count > 0)
            {
                DataRow dt2;
                dt2 = ds.Tables[0].Rows[0];
                textBox5.Text = dt2["工点名称"].ToString();
            }
            
            Conn.Close();
        }

解决方案 »

  1.   

    ds.Tables["tp"].Rows.Count > 0
      

  2.   

    其实我想实现的功能很简单
    就是把数据显示在datagridview的同时
    能把listbox中选中的名称显示在textbox5当中
      

  3.   

    调试,断点ds.Tables[0].Rows.Count,运行到此处的时候,选中这部分代码,右键,添加监视,看看.count获取的值是多少!
      

  4.   

    假如你的datagridview能显示出数据的话,建议你用datagridview的属性和方法做判断
    比如
    datagridview.rows.count (没vs 伪代码)
      

  5.   

    ds.Tables[0].Rows.Count 不大于0
      

  6.   

    Rows.Count   是不是这个根本没大于0啊
      

  7.   

    你是只想让TP表的数据显示出来?看看tp里面有数据么。
      

  8.   

    楼主,你应该重点查这几行代码的问题:            SqlDataAdapter myDataAapter = new SqlDataAdapter(tpSql, Conn);
                DataSet ds = new DataSet();
                myDataAapter.Fill(ds, "tp");
                SqlDataAdapter myDataAapter1 = new SqlDataAdapter(dcSql, Conn);
                myDataAapter1.Fill(ds, "dc");
                SqlDataAdapter myDataAapter2 = new SqlDataAdapter(kcSql, Conn);
                myDataAapter2.Fill(ds, "kc");
                SqlDataAdapter myDataAapter3 = new SqlDataAdapter(tjSql, Conn);
                myDataAapter3.Fill(ds, "tj");
                SqlDataAdapter myDataAapter4 = new SqlDataAdapter(sjSql, Conn);
                myDataAapter4.Fill(ds, "sj");断点调试,看看Fill之后,ds的值有没有变化。。
      

  9.   

    调试下 count 值时多少。····
      

  10.   

     if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
      

  11.   

    去数据库里看看select * from XStpTable where 工点名称 = '" + listBox1.Text + "'"能数据么?
    =是完全匹配
    要不用like?
      

  12.   

     private void dataGridView1_CellMouseDown(object  sender,DataGridViewCellMouseEventArgs  e)
            {
              
             if(e.RowIndex>0)
              {            }
            }
    你可以用它的这个事件去判断
      

  13.   

    datagridview.rows.count 有没有数据
      

  14.   

    dt2 = ds.Tables[0].Rows[0];
      textBox5.Text = dt2["工点名称"].ToString();
    改成:
    textBox5.Text=ds.Tables[0].Rows[0]["工点名称"];
    干嘛要多次一举加中间变量?
    如果取不到值,调式,看看ds.Tables[0]有什么数据