一个页面中显示25条数据,<input name="selectid" type="checkbox" value="<%# DataBinder.Eval(Container.DataItem, "id")%>">每条数据前的复选框,然后是每条数据都有个文本框,文本框里是新闻标题<input name="newstitles=<%# DataBinder.Eval(Container.DataItem, "id")%>" type="text" value="="<%# DataBinder.Eval(Container.DataItem, "newstitles")%>">,如果要更新新闻就选择复选框 然后有个按钮做更新,在这个更新事件里,更新所选择的数据新闻标题,
每页都显示25条数据 更新只更新当前页的25条数据,请问该如何更新呢
每页都显示25条数据 更新只更新当前页的25条数据,请问该如何更新呢
请问该如何更新呢
string[] arraryid = Request.Parmas["selectid"].Split(',');
string updateSql = "update set [title]={0} where [id]='{1}'";
for(int i = 0 ; < arrayid.length ; i ++ )
{
//构造执行语句
string updateSqlID = string.Format(updateSql ,Request.Parmas["newstitles="+arraryid [i] ] ,arraryid[i]));
//执行
//your code
}
1.拼接字符串
StringBuilder sql = new StringBuilder();
sql.Append("update Table set a=1,b=1 where id=1;") //插入第一条
.Append("update Table set a=2,b=2 where id=2;") ; //第二条
通过sql.ToString()得到最后要执行的sql语句,把它传到数据库执行。注意:在拼接字符串要过滤一些特殊字符防止sql注入。2.在sql server 2000创建一个存储过程,在此存储过程中创建一个事务,然后在此事务中执行拼接的字符串。简单示例代码:
ALTER procedure BatchUpdate
@sqlstr varchar(8000) --拼接的字符串
as
declare @errorCode int
select @errorCode=@@errorbegin transaction
if @errorCode=0
begin
exec(@sqlstr )
select @errorCode=@@error
end
if @errorCode=0
commit transaction
else
rollback transaction
go