问题描述
for(inti=0;i<=arr.Length-1;i++){stringsql="selectid,userid,password,USERNAME,ISENABLE,CREATETIMEfromUSERSwhereID='"+arr[i].ToString()+"'";DataSetmyds=newDataSet();oracleCmd=newOracleCommand(sql,conn);OracleDataAdapteroda=newOracleDataAdapter(oracleCmd);conn.Open();oracleCmd.ExecuteNonQuery();conn.Close();GridView1.DataSource=myds;GridView1.DataKeyNames=newstring[]{"id"};//主键GridView1.DataBind();}arr[]是一个存放ID的数组,我想把这个数组中的ID的数据添加到gridview中,我现在的代码只显示一行,请问如何把所有ID的数据显示出来,跪谢。。。。
解决方案
解决方案二:
1、myds中有什么数据呢?2、尽量避免在循环中多次连接数据库
解决方案三:
myds中应该是sql语句查询出来的数据,我的主要问题是,现在这个代码gridview中只显示最后一次循环取得的数据,这个循环每次都要执行DataSetmyds=newDataSet();oracleCmd=newOracleCommand(sql,conn);OracleDataAdapteroda=newOracleDataAdapter(oracleCmd);所以最后的dataset也是最后一次循环的数据,我不知道怎么解决这个问题我想把每次循环的数据都显示出来,我是一个小菜鸟,见谅,谢谢您的回答
解决方案四:
引用1楼xunzaosiyecao的回复:
1、myds中有什么数据呢?2、尽量避免在循环中多次连接数据库
myds中应该是sql语句查询出来的数据,我的主要问题是,现在这个代码gridview中只显示最后一次循环取得的数据,这个循环每次都要执行DataSetmyds=newDataSet();oracleCmd=newOracleCommand(sql,conn);OracleDataAdapteroda=newOracleDataAdapter(oracleCmd);所以最后的dataset也是最后一次循环的数据,我不知道怎么解决这个问题我想把每次循环的数据都显示出来,我是一个小菜鸟,见谅,谢谢您的回答
解决方案五:
引用3楼u011310595的回复:
Quote: 引用1楼xunzaosiyecao的回复:
1、myds中有什么数据呢?2、尽量避免在循环中多次连接数据库myds中应该是sql语句查询出来的数据,我的主要问题是,现在这个代码gridview中只显示最后一次循环取得的数据,这个循环每次都要执行DataSetmyds=newDataSet();oracleCmd=newOracleCommand(sql,conn);OracleDataAdapteroda=newOracleDataAdapter(oracleCmd);所以最后的dataset也是最后一次循环的数据,我不知道怎么解决这个问题我想把每次循环的数据都显示出来,我是一个小菜鸟,见谅,谢谢您的回答
如果数据量不是很大的话,写sql一次查出所有的数据不就好了?如果数据量大就写个存储过程分页获取数据
解决方案六:
不要在循环中多次连接数据库,话说你这样for循环开连接不会被骂吗。你的东西直接一个whereIDin();就可以取出来完,再绑定不就可以了
解决方案七:
你把前面的写到循环的外面,孩子,我第一次看到有人把连接写到循环里面的。