当前位置:编程学习 > C#/ASP.NET >>

为什么我的if语句没有运行呢

为什么我的这一段没有运行呢
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();
        }
--------------------编程问答-------------------- ds.Tables["tp"].Rows.Count > 0 --------------------编程问答-------------------- 楼上的大哥,似乎不对
还是没运行貌似 --------------------编程问答-------------------- 你这样写没什么问题啊..难道是没有数据的问题么```

算了,我还是不误导人了.帮顶 --------------------编程问答--------------------
引用 3 楼 a334715874 的回复:
你这样写没什么问题啊..难道是没有数据的问题么```

算了,我还是不误导人了.帮顶

其实我想实现的功能很简单
就是把数据显示在datagridview的同时
能把listbox中选中的名称显示在textbox5当中 --------------------编程问答-------------------- listBox1.Text这个什么意思 --------------------编程问答-------------------- 调试,

断点ds.Tables[0].Rows.Count,运行到此处的时候,选中这部分代码,右键,添加监视,看看.count获取的值是多少! --------------------编程问答-------------------- 设个断点调试一下不就知道了么
应该是没有数据。 --------------------编程问答-------------------- 假如你的datagridview能显示出数据的话,建议你用datagridview的属性和方法做判断
比如
datagridview.rows.count (没vs 伪代码) --------------------编程问答-------------------- ds.Tables[0].Rows.Count 不大于0 --------------------编程问答-------------------- Rows.Count   是不是这个根本没大于0啊 --------------------编程问答-------------------- 你是只想让TP表的数据显示出来?看看tp里面有数据么。 --------------------编程问答-------------------- 第一个表没数据。 --------------------编程问答-------------------- 应该是没有数据的吧,设断点调试一下看看 --------------------编程问答-------------------- 楼主,你应该重点查这几行代码的问题:

            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的值有没有变化。。。。。。。。 --------------------编程问答-------------------- 断点调调 --------------------编程问答-------------------- 这种问题根本不该来问,一个会调试的程序员会问这种问题.
建议大家今后无需告诉这类人具体解决方法,否则他们今后碰到类似这种问题还是不会弄 --------------------编程问答-------------------- 楼主,多调试,同时在即时窗口看看一些有效信息!!!否则…… --------------------编程问答-------------------- 调试下 count 值时多少。···· --------------------编程问答--------------------  if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0) --------------------编程问答--------------------  不会调试的码工不是好码工。 --------------------编程问答-------------------- 断点试试!! --------------------编程问答-------------------- 断点啊,八九不离十是没数据呗! --------------------编程问答-------------------- 断点调试。。。。 --------------------编程问答-------------------- 调试自己看,人家很难说清楚啊! --------------------编程问答-------------------- 哎,你这个好像是没数据吧,要不就自己调试一下,没数据别人很难判断。 --------------------编程问答-------------------- ds 中可能没有数据.只能这么猜了,断点调试 --------------------编程问答-------------------- 楼上各位给了那么多建议,我估计问题已经解决了,就飘一下以示存在好了:)

这种问题刚上手的时候大部分人都会遇到,很正常,慢慢来吧 --------------------编程问答--------------------
引用 9 楼 wxr0323 的回复:
ds.Tables[0].Rows.Count 不大于0

+ --------------------编程问答--------------------
引用 28 楼 yj258213056 的回复:
引用 9 楼 wxr0323 的回复:

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

+


没查到数据,, --------------------编程问答-------------------- 去数据库里看看select * from XStpTable where 工点名称 = '" + listBox1.Text + "'"能数据么?
=是完全匹配
要不用like? --------------------编程问答--------------------  private void dataGridView1_CellMouseDown(object  sender,DataGridViewCellMouseEventArgs  e)
        {
          
         if(e.RowIndex>0)
          {

            }
        }
你可以用它的这个事件去判断。。。 --------------------编程问答-------------------- 不会调试的码工不是好码工。 --------------------编程问答-------------------- 自己调试去 --------------------编程问答-------------------- 楼主还不懂断点调试的技巧,去网上看看断点调试的技巧吧,你就不会问出这样的问题了 --------------------编程问答-------------------- datagridview.rows.count 有没有数据 --------------------编程问答-------------------- if()条件不成立 --------------------编程问答-------------------- dt2 = ds.Tables[0].Rows[0];
  textBox5.Text = dt2["工点名称"].ToString();
改成:
textBox5.Text=ds.Tables[0].Rows[0]["工点名称"];
干嘛要多次一举加中间变量?
如果取不到值,调式,看看ds.Tables[0]有什么数据 --------------------编程问答--------------------
引用 21 楼 threehigh3 的回复:
断点试试!!


+  
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,