为什么我的if语句没有运行呢
为什么我的这一段没有运行呢if (ds.Tables[0].Rows.Count > 0)
{
DataRow dt2;
dt2 = ds.Tables[0].Rows[0];
textBox5.Text = dt2["工点名称"].ToString();
}
我的主要目的就是显示textbox5啊···
--------------------编程问答-------------------- ds.Tables["tp"].Rows.Count > 0 --------------------编程问答-------------------- 楼上的大哥,似乎不对
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();
}
还是没运行貌似 --------------------编程问答-------------------- 你这样写没什么问题啊..难道是没有数据的问题么```
算了,我还是不误导人了.帮顶 --------------------编程问答--------------------
其实我想实现的功能很简单
就是把数据显示在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 中可能没有数据.只能这么猜了,断点调试 --------------------编程问答-------------------- 楼上各位给了那么多建议,我估计问题已经解决了,就飘一下以示存在好了:)
这种问题刚上手的时候大部分人都会遇到,很正常,慢慢来吧 --------------------编程问答--------------------
+ --------------------编程问答--------------------
没查到数据,, --------------------编程问答-------------------- 去数据库里看看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]有什么数据 --------------------编程问答--------------------
+
补充:.NET技术 , C#