一道C#程序题!高手请进!
privatevoidForm1_Load(objectsender,EventArgse){treeView1.Nodes.Clear();DataSetds=MyDC...
private void Form1_Load(object sender, EventArgs e)
{
treeView1.Nodes.Clear();
DataSet ds = MyDClass.getDataSet("select * from tb_B_BranchName", "tb_B_BranchName");
if (ds.Tables[0].Rows.Count > 0)
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)//ds.Tables[0].Rows.Count就是表集的第一个表的所有行数(也就是总数);
{
treeView1.Nodes.Add(ds.Tables[0].Rows[i][1].ToString());
**************************************************************************************************************************
if (ds.Tables[0].Rows[i][1].ToString() == "控制工程")
{
int j = (Int32)SqlHelper.GetScalar("select count(*) from tb_S_BranchName where BranchName ='" + ds.Tables[0].Rows[i][1].ToString() + "'");
DataTable table = SqlHelper.GetDataTable("select S_BranchName from tb_S_BranchName where BranchName ='" + ds.Tables[0].Rows[i][1].ToString() + "'");
foreach (DataRow row in table.Rows)
{
string val = row["S_BranchName"].ToString();
treeView1.Nodes[i].Nodes.Add(val);
******************************************************************************************************************************8
}
}
}
我想问下分隔线之间的代码的含义,拜托各位大侠!最好详细点! 展开
{
treeView1.Nodes.Clear();
DataSet ds = MyDClass.getDataSet("select * from tb_B_BranchName", "tb_B_BranchName");
if (ds.Tables[0].Rows.Count > 0)
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)//ds.Tables[0].Rows.Count就是表集的第一个表的所有行数(也就是总数);
{
treeView1.Nodes.Add(ds.Tables[0].Rows[i][1].ToString());
**************************************************************************************************************************
if (ds.Tables[0].Rows[i][1].ToString() == "控制工程")
{
int j = (Int32)SqlHelper.GetScalar("select count(*) from tb_S_BranchName where BranchName ='" + ds.Tables[0].Rows[i][1].ToString() + "'");
DataTable table = SqlHelper.GetDataTable("select S_BranchName from tb_S_BranchName where BranchName ='" + ds.Tables[0].Rows[i][1].ToString() + "'");
foreach (DataRow row in table.Rows)
{
string val = row["S_BranchName"].ToString();
treeView1.Nodes[i].Nodes.Add(val);
******************************************************************************************************************************8
}
}
}
我想问下分隔线之间的代码的含义,拜托各位大侠!最好详细点! 展开
6个回答
展开全部
代码写的有点啰嗦。。。一句一句给你讲解。
if (ds.Tables[0].Rows[i][1].ToString() == "控制工程")//如果这一行的第二列是"控制工程",那么接下来要做些什么呢?
{
//这句话的意思是从表tb_S_BranchName中查出BranchName叫做"控制工程的记录总数"
int j = (Int32)SqlHelper.GetScalar("select count(*) from tb_S_BranchName where BranchName ='" + ds.Tables[0].Rows[i][1].ToString() + "'");
//这句话的意思是从表tb_S_BranchName中查出BranchName叫做"控制工程的所有记录的S_BranchName字段" ,-----看清楚了,上面那句话是查的总数目,这句话是查出所有的记录
DataTable table = SqlHelper.GetDataTable("select S_BranchName from tb_S_BranchName where BranchName ='" + ds.Tables[0].Rows[i][1].ToString() + "'");
//然后,将查出来的这些记录的S_BranchName添加到treeView1.Nodes[i]的子节点上。
foreach (DataRow row in table.Rows)
{
string val = row["S_BranchName"].ToString();
treeView1.Nodes[i].Nodes.Add(val);
希望你明白~
展开全部
DataTable table = SqlHelper.GetDataTable("select S_BranchName from tb_S_BranchName where BranchName ='" + ds.Tables[0].Rows[i][1].ToString() + "'");
意思:将查询出来的所有符合的字段值(S_BranchName值 )存储到table对象中。
格式:第一行 值1
第一行 值2
第一行 值3
。。。 。。。
foreach (DataRow row in table.Rows)
{
string val = row["S_BranchName"].ToString();
treeView1.Nodes[i].Nodes.Add(val);
}
循环读取每一行中S_BranchName值 ,并赋值给val,最后添加到树节点。
意思:将查询出来的所有符合的字段值(S_BranchName值 )存储到table对象中。
格式:第一行 值1
第一行 值2
第一行 值3
。。。 。。。
foreach (DataRow row in table.Rows)
{
string val = row["S_BranchName"].ToString();
treeView1.Nodes[i].Nodes.Add(val);
}
循环读取每一行中S_BranchName值 ,并赋值给val,最后添加到树节点。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
if (ds.Tables[0].Rows[i][1].ToString() == "控制工程")//判断结果table中的每行第二个字段值是否是“控制工程”
{
int j = (Int32)SqlHelper.GetScalar("select count(*) from tb_S_BranchName where BranchName ='" + ds.Tables[0].Rows[i][1].ToString() + "'");//从tb_S_BranchName表中查询名称为“控制工程”的总条数并赋值给J
DataTable table = SqlHelper.GetDataTable("select S_BranchName from tb_S_BranchName where BranchName ='" + ds.Tables[0].Rows[i][1].ToString() + "'");//查询tb_S_BranchName中所有BranchName为“控制工程”的S_BranchName值
foreach (DataRow row in table.Rows)//循环查找结果的table
{
string val = row["S_BranchName"].ToString();//获取S_BranchName值 treeView1.Nodes[i].Nodes.Add(val);//treeView1每个节点下循环添加val
{
int j = (Int32)SqlHelper.GetScalar("select count(*) from tb_S_BranchName where BranchName ='" + ds.Tables[0].Rows[i][1].ToString() + "'");//从tb_S_BranchName表中查询名称为“控制工程”的总条数并赋值给J
DataTable table = SqlHelper.GetDataTable("select S_BranchName from tb_S_BranchName where BranchName ='" + ds.Tables[0].Rows[i][1].ToString() + "'");//查询tb_S_BranchName中所有BranchName为“控制工程”的S_BranchName值
foreach (DataRow row in table.Rows)//循环查找结果的table
{
string val = row["S_BranchName"].ToString();//获取S_BranchName值 treeView1.Nodes[i].Nodes.Add(val);//treeView1每个节点下循环添加val
追问
DataTable table = SqlHelper.GetDataTable("select S_BranchName from tb_S_BranchName where BranchName ='" + ds.Tables[0].Rows[i][1].ToString() + "'");
这句还没太懂!能烦请再解释一下吗?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
如果当前行是控制工程
int j 在这里貌似没有用到
取table
通过循环添加到控件treeView1中
可以给分了
int j 在这里貌似没有用到
取table
通过循环添加到控件treeView1中
可以给分了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
先判断是否为控制工程
如果是控制工程
即获取控制工程数量,j变量保存
并且获取控制工程名称S_BranchName 并添加到树控件中
如果是控制工程
即获取控制工程数量,j变量保存
并且获取控制工程名称S_BranchName 并添加到树控件中
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
第一句 查询BranchName是控制工程的个数 返回类型是int型
第二句 查询出所有S_BranchName 返回值类型是DataTable 型 where条件也是 控制工程
foreach遍历DataTable 值是其中一个 最后将值赋给treeView 形成它的节点
这是一个树形图 求节点的
第二句 查询出所有S_BranchName 返回值类型是DataTable 型 where条件也是 控制工程
foreach遍历DataTable 值是其中一个 最后将值赋给treeView 形成它的节点
这是一个树形图 求节点的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询