repeater的数据绑定问题
请问一下为什么下面的会出错,SqlConnectionconn=newSqlConnection(ConfigurationSettings.AppSettings["c...
请问一下为什么下面的会出错,
SqlConnection conn = new SqlConnection(ConfigurationSettings.AppSettings["conn"]);
SqlCommand command = new SqlCommand();
command.CommandText = "select * from login where id=1";
command.Connection = conn;
SqlDataReader read;
read = command.ExecuteReader();
read.Read();
Repeater1.DataBind = read["admin"];
Repeater1.DataBind();
是Repeater1.DataBind = read["admin"];这一句出错,请问各位高手要怎么修改,还有repeater绑定的数据一定要从dataset里面读出吗 展开
SqlConnection conn = new SqlConnection(ConfigurationSettings.AppSettings["conn"]);
SqlCommand command = new SqlCommand();
command.CommandText = "select * from login where id=1";
command.Connection = conn;
SqlDataReader read;
read = command.ExecuteReader();
read.Read();
Repeater1.DataBind = read["admin"];
Repeater1.DataBind();
是Repeater1.DataBind = read["admin"];这一句出错,请问各位高手要怎么修改,还有repeater绑定的数据一定要从dataset里面读出吗 展开
1个回答
展开全部
Repeater 绑定的数据必须是支持遍历的,因此你这样的做法是不合适的。
首先,绑定的时候数据源最好使用离线的数据,否则Repeater1绑定的时候必须占用着数据库连接。最好是通过DataReader将所有的数据生成一个列表List,或数组然后再关闭数据库连接并进行绑定。而你写的 read["admin'] 已经是读出数据库的一列了,这个值可想而知是不支持遍历的,所以肯定是出错的。
其次,Repeater的数据源属性是 DataSource,不是DataBind。
Repeater支持的数据源很多,常见的有 List,ArrayList,数组,DataSet,DataTable等等,只要实现了 IEnumable 接口的都可以。
首先,绑定的时候数据源最好使用离线的数据,否则Repeater1绑定的时候必须占用着数据库连接。最好是通过DataReader将所有的数据生成一个列表List,或数组然后再关闭数据库连接并进行绑定。而你写的 read["admin'] 已经是读出数据库的一列了,这个值可想而知是不支持遍历的,所以肯定是出错的。
其次,Repeater的数据源属性是 DataSource,不是DataBind。
Repeater支持的数据源很多,常见的有 List,ArrayList,数组,DataSet,DataTable等等,只要实现了 IEnumable 接口的都可以。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询