我的gridview在asp里绑定了一个SqlDataSource,SqlDataSource的SelectCommand为select * from 表,
gridview中又添加了2个CommandField 编辑和删除.因为我要在gridview里做选择,点击button使SelectCommand为select * from 表 where name='user'然后gridview里显示的就只有user的数据了,然后我在点击编辑,比如说第一条,然后出来的可编辑状态,
选中的行居然是select * from 表 时的第一条...请问怎么办?
gridview中又添加了2个CommandField 编辑和删除.因为我要在gridview里做选择,点击button使SelectCommand为select * from 表 where name='user'然后gridview里显示的就只有user的数据了,然后我在点击编辑,比如说第一条,然后出来的可编辑状态,
选中的行居然是select * from 表 时的第一条...请问怎么办?
后面重新绑定下
gridview.datasource=null;
gridview.datasource=...
那我要怎么办才能解决呢?
if(!IsPostBack){
//用"select * from 表"绑定
}
这样就就不会每次都重新绑定"select * from 表"了
可这样写:
......SelectCommand="SELECT * FROM [表] WHERE ([name] LIKE + @name )">
....
全部显示在Page_Load中:
protected void Page_Load(object sender, EventArgs e)
{
SqlDataSource1.SelectParameters["name"].DefaultValue = "%";
}要显示特定的:
string name1="张三";
SqlDataSource1.SelectParameters["name"].DefaultValue = name1;
GridView1.DataBind();
哈哈 没用过这玩意。。这东西太死了。。
是不是SqlDataSource 不好用的,有好的方法吗?
告诉我一下.
和where name like 'xxx' 是等价滴!!
where name like 'xxx' 查出多少,则 where name ='xxx' 也查出多少!!这和where name like 'xxx%'是有区别的
1.SqlConnection
SqlDataAdapter
DataSet
2.SqlConnection
SqlCommand
SqlDataReader
这是最传统的,也是目前大多数用户所用的,(二)自vs2005发布后,访问数据库增加了数据源控件,如:
ObjectDataSource; SqlDataSourse等等,
这样一些控件方便了用户,减少了代码的输入量,而且也不易出错,好处还是不少的,
特别是ObjectDataSource,是一种对象化的控件,配合强类型的dataSet,可使代码量pingjun减少一半.(三)自vs2008发布后,访问数据库又增加了Linq,
这使访问数据库更加简便!!