如何将一下语句改为循环语句?

kkk444dsfsa 2010-11-06 09:43:50
string cmd1 = "select hwbh from fhxx where fhqdh='" + fhqdh + "'"; //接收参数作为查询条件,如果查询出来的hwbh 有多个的话 怎么循环呢?
DataSet ds = sqlHelp.GetDataSet(cmd1);

if (ds!=null)
{
string hwbh = ds.Tables[0].Rows[0][0].ToString();//这边不止一个hwbh的时候咋办?
string cmd2 = "select hwbh,jydxx.sxhh,sdzmc,shrxm,hwmc,hwzjs,hwztj,hwzzl,hwyf,hwzt from hwxx,jydxx where jydxx.jydbh = hwxx.jydbh and hwxx.hwbh ='" + hwbh + "'";
DataSet ds_hwxx = sqlHelp.GetDataSet(cmd2);

result = "[['" + ds_hwxx.Tables[0].Rows[0][0].ToString() + "','" + ds_hwxx.Tables[0].Rows[0][1].ToString() + "','" + ds_hwxx.Tables[0].Rows[0][2].ToString() + "','" + ds_hwxx.Tables[0].Rows[0][3].ToString() +
"','" + ds_hwxx.Tables[0].Rows[0][4].ToString() + "'," + ds_hwxx.Tables[0].Rows[0][5].ToString() + "," + ds_hwxx.Tables[0].Rows[0][6].ToString() + "," + ds_hwxx.Tables[0].Rows[0][7].ToString() +
"," + ds_hwxx.Tables[0].Rows[0][8].ToString() + "" + "," + ds_hwxx.Tables[0].Rows[0][9].ToString() + "]" +
"]";
//如果hwbh有多个的话 对应的result就会有多条记录,如何让他输出象此类的格式[['10020101019000501 ','7777888','漳州','羽泉','花卉',1,0.000,3.265,1143.00,2 ]]这是只有一条记录的格式,如果有多条的话应该是
[['10020101019000501 ','7777888','漳州','羽泉','花卉',1,0.000,3.265,1143.00,2 ],['10020101019000502 ','7777888','漳州','羽泉','花卉',1,0.000,3.265,1143.00,2 ],
['10020101019000503 ','7777888','漳州','羽泉','花卉',1,0.000,3.265,1143.00,2 ],
.........................
]
}

Response.Write(result);
...全文
149 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
kkk444dsfsa 2010-11-06
  • 打赏
  • 举报
回复
SQLHelper sqlHelp = new SQLHelper();
string result = "";
string fhqdh = Request.Params["fhqdh"].ToString();
string cmd1 = "select hwbh from fhxx where fhqdh='" + fhqdh + "'";
DataSet ds = sqlHelp.GetDataSet(cmd1);

foreach (DataRow row in ds.Tables[0].Rows)
{
string hwbh = ds.Tables[0].Rows[0][0].ToString();//我要怎么循环输出hwbh 用与cmd2的查询呢? string cmd2 = "select hwbh,jydxx.sxhh,sdzmc,shrxm,hwmc,hwzjs,hwztj,hwzzl,hwyf,hwzt from hwxx,jydxx where jydxx.jydbh = hwxx.jydbh and hwxx.hwbh ='" + hwbh + "'";
DataSet ds_hwxx = sqlHelp.GetDataSet(cmd2);

result = "["]";
}
kkk444dsfsa 2010-11-06
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 qyz100200 的回复:]
1楼可行 或者可以用DataReader循环读
[/Quote]

1楼的可行 谁给出具体的代码啊 对c#还不是很熟?
cjh200102 2010-11-06
  • 打赏
  • 举报
回复
楼上正解
qyz100200 2010-11-06
  • 打赏
  • 举报
回复
1楼可行 或者可以用DataReader循环读
有心人问道 2010-11-06
  • 打赏
  • 举报
回复
顶一下,我认为Rows就是一个数组,可以循环.
kkk444dsfsa 2010-11-06
  • 打赏
  • 举报
回复
string cmd1 = "select hwbh from fhxx where fhqdh='" + fhqdh + "'";
DataSet ds = sqlHelp.GetDataSet(cmd1);

这个执行完后 实际的hwbh 有多个记录 怎么让他循环地输出
象此类的格式
[['10020101019000501 ','7777888','漳州','羽泉','花卉',1,0.000,3.265,1143.00,2 ],['10020101019000502 ','7777888','漳州','羽泉','花卉',1,0.000,3.265,1143.00,2 ],
['10020101019000503 ','7777888','漳州','羽泉','花卉',1,0.000,3.265,1143.00,2 ],
.........................
]
叶子 2010-11-06
  • 打赏
  • 举报
回复
string hwbh = ds.Tables[0].Rows[0][0].ToString();//这边不止一个hwbh的时候咋办?
多个也不报错,你取的是Rows[0],就是第一行。
mayonglong 2010-11-06
  • 打赏
  • 举报
回复
组合hwbh
string cmd2 = "select hwbh,jydxx.sxhh,sdzmc,shrxm,hwmc,hwzjs,hwztj,hwzzl,hwyf,hwzt from hwxx,jydxx where jydxx.jydbh = hwxx.jydbh and hwxx.hwbh in(" + hwbh + ")";
兔子-顾问 2010-11-06
  • 打赏
  • 举报
回复
foreach(DataRow row in ds.Tables[0].Rows)
{}
kkk444dsfsa 2010-11-06
  • 打赏
  • 举报
回复
protected void Page_Load(object sender, EventArgs e)
{
SQLHelper sqlHelp = new SQLHelper();
string result = "";
string fhqdh = Request.Params["fhqdh"].ToString();
string cmd1 = "select hwbh from fhxx where fhqdh='" + fhqdh + "'";
DataSet ds = sqlHelp.GetDataSet(cmd1);
foreach (DataRow row in ds.Tables[0].Rows)
{
string hwbh = Convert.ToString(row["hwbh"].ToString());
string cmd2 = "select hwbh,jydxx.sxhh,sdzmc,shrxm,hwmc,hwzjs,hwztj,hwzzl,hwyf,hwzt from hwxx,jydxx where jydxx.jydbh = hwxx.jydbh and hwxx.hwbh ='" + hwbh + "'";
DataSet ds_hwxx = sqlHelp.GetDataSet(cmd2);

result = "[['" + ds_hwxx.Tables[0].Rows[0][0].ToString() + "','" + ds_hwxx.Tables[0].Rows[0][1].ToString() + "','" + ds_hwxx.Tables[0].Rows[0][2].ToString() + "','" + ds_hwxx.Tables[0].Rows[0][3].ToString() +
"','" + ds_hwxx.Tables[0].Rows[0][4].ToString() + "'," + ds_hwxx.Tables[0].Rows[0][5].ToString() + "," + ds_hwxx.Tables[0].Rows[0][6].ToString() + "," + ds_hwxx.Tables[0].Rows[0][7].ToString() +
"," + ds_hwxx.Tables[0].Rows[0][8].ToString() + "" + "," + ds_hwxx.Tables[0].Rows[0][9]+ "]" +
"]";
}

Response.Write(result);
Response.End();
}

我改成了以上的代码 为什么只输出最后的一条?

111,129

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧