案例背景说明:系统采用
B/S
架构,现有产品表(
Product
)
,其结构如下:
序号
字段名称
字段类型(长度)
备注
ID
Int
IDENTITY
(
1
,
1
)NOTNULL
ProductCode
Varchar(30)
ProductName
NVarchar(100)
State
Int
数据状态(
0-
未审核,
1-
已审核)
。
。
。
在客户端,请求将批量选中的行标识为【审核通过】
。
我们可以这样做,将批量选中的行的
ID
用逗号分隔连接成一个
ID
串,发送到服务端,服务
端进行处理。处理代码大致如下(和上述步骤对应)
:
publicstatic
int
ShenHe(
string
ids,
string
tableName)
{
using
(
SqlConnection
conn =
new
SqlConnection
(connectionString))
{
conn.Open();
{
SqlCommand
cmd =
new
SqlCommand
();
try
{
cmd.Connection = conn;
StringBuilder
cmdText =
new
StringBuilder
();
cmdText.AppendFormat(
"create table #tmp_table(ID int);"
);
string
[] idAry = ids.Split(
','
);
foreach
(
string
id
in
idAry)
{
cmdText.AppendFormat(
"\ninsert into #tmp_table(ID) values({0});"
, id);
}
cmdText.AppendFormat(
"\nupdate
{0}
set
State
=
1
where
ID
in
(select
ID
from
#
tmp_table
);"
,
tableName);
cmdText.AppendFormat(
"\ndrop table #tmp_table;");