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);
这个为什么只输出最后一行??我的意思是要输出所有的记录
{
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);
这个为什么只输出最后一行??我的意思是要输出所有的记录
你result的值等于最后一次的赋值
你把Response.Write(result);放在里面撒或者result +=
result是根据hwbh参数查询数据库得出的记录组织成一定的格式输出的[['10020101019000501 ','7777888','漳州','羽泉','花卉',1,0.000,3.265,1143.00,2 ]]
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();所有的代码 谁给看看?????????????????
SQLHelper sqlHelp = new SQLHelper();
StringBuilder 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); String s = "[['" + 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] + "]" +
"]"; result.Append(s);
}
然后再调用result.ToString();就应该可以看到所有的记录的
最后Response.Write(stringbuilder.ToString());
{
SQLHelper sqlHelp = new SQLHelper();
StringBuilder result = new StringBuilder();
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); string s = "[['" + 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] + "]" +
"]"; result.Append(s);
Response.Write(result.ToString());
Response.End();
}
}改为这样的话 也是一样的
我看了在foreach()里面记录都有 ,就是输不出来????
如果把Response.Write(result)放foreach()里面的话 只输出记录的第一条 ,如果放foreach()外面的话 就只输出记录的最后一条 ?
对于第一种情况,你就需要使用你原来的程序,然后把Response.Write(result);放到foreach里面去对于第二种情况,你需要在foreach外面使用你的Response.Write(result.ToString());因为这个result在foreach结束以后已经包含所有的记录了
应该说是第二种 我是要把result的结果一起输出,但是如何放在foreach()外面的话 就只能出一条记录 不是所有的记录,好像覆盖掉了前一条
Response.End();
放到循环外面!
所以都是只有一条记录了
List<string> strList = new List<string>();
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); string s = "[['" + 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] + "]" +
"]";
strList.Add(s);
} foreach (string s in strList)
{
Response.Write(s);
}
但是 还是不行啊 连一条记录都没有
等号前加一个“+”
这样子弄,会不会多余,两次转换为tostring
['10020101019000501 ','7777888','漳州','羽泉','花卉',1,0.000,3.265,1143.00,2 ],['10020101102000101 ','5555','漳州','吴孟达','鞋子',1,0.000,2.636,949.00,2 ]
]但是result.append(s)执行后 却是输出了以下格式 ,如何将一下格式改为以上的格式[['10020101019000501 ','7777888','漳州','羽泉','花卉',1,0.000,3.265,1143.00,2 ]][['10020101102000101 ','5555','漳州','吴孟达','鞋子',1,0.000,2.636,949.00,2 ]]
string result = "[";
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); string s = "['" + 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] + "],";
} result = result.Remove(result.Length - 1);
result += "]"; Response.Write(result);
string s = "[['" + 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] + "]" +
"]";
这是一行的格式
如果有多行的话 就是 string s = "[['" + 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] + "]" + ","+
"['" + ds.Tables[0].Rows[1][0].ToString() + "','" + ds.Tables[0].Rows[1][1].ToString() + "','" + ds.Tables[0].Rows[1][2].ToString() + "','" + ds.Tables[0].Rows[1][3].ToString() +
"','" + ds.Tables[0].Rows[1][4].ToString() + "','" + ds.Tables[0].Rows[1][5].ToString() + "','" + ds.Tables[0].Rows[1][6].ToString() + "','" + ds.Tables[0].Rows[1][7].ToString() +
"','" + ds.Tables[0].Rows[1][8].ToString() + "','" + ds.Tables[0].Rows[1][9].ToString() + "','" + ds.Tables[0].Rows[1][10].ToString() + "','" + ds.Tables[0].Rows[1][11].ToString() +
"','" + ds.Tables[0].Rows[1][12].ToString() + "','" + ds.Tables[0].Rows[1][13].ToString() + "'" + "]" +
"]";
一行[[1,a,b,c,]]
二行[[1,a,b,c,],[2,a,b,c]]
三行[[1,a,b,c,],[2,a,b,c],[3,a,b,c]]
象这样该怎么组织s呢
[
['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 ]
]以“[”开始以“]”结束,每一行是一条记录,所以在开头要使result = "[",然后
result += Environment.NewLine;接下来是用foreach得到每条记录,每条记录都是以],结尾,这样在foreach结束的时候最后一条记录也是有逗号的,我们需要将其去除,最后给result加上]就是最终的结果你需要的是理解如何利用foreach得到你需要的格式
一行[[1,a,b,c,]]
二行[[1,a,b,c,],[2,a,b,c]]
三行[[1,a,b,c,],[2,a,b,c],[3,a,b,c]]
....................................