| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1457 人关注过本帖
标题:如何用副选框实现多个数据选择性删除????
只看楼主 加入收藏
dh2007
Rank: 1
等 级:新手上路
帖 子:228
专家分:0
注 册:2007-2-28
结帖率:0
收藏
 问题点数:0 回复次数:10 
如何用副选框实现多个数据选择性删除????
如何用副选框实现多个数据选择性删除????
<input type=checkbox name=a value=1>
<input type=checkbox name=a value=2>
如果都选中交上去后怎么处理???
搜索更多相关主题的帖子: 副选框 数据选择性 checkbox name input 
2007-03-19 14:16
阳光白雪
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:39
帖 子:2220
专家分:0
注 册:2005-11-18
收藏
得分:0 

<%
IdArr = Replace(Request.Form("a")," ","")
delsql = "delete from [table] where id in("& IdArr &")"
Conn.Execute(delsql)
%>


专注于WEB前端交互平台开发:[url=http://blog./]blog.[/url](富客户端技术(RIA)交流平台)
2007-03-19 14:35
yms123
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:209
帖 子:12488
专家分:19042
注 册:2004-7-17
收藏
得分:0 

javascript提交示例
a.asp
[CODE]
<html>
<head>
<title>多复选框提交示例</title>
<script language="javascript" >
//返回选中项的字符串
function getSelStr()
{
var reVal="";
for(var i=0;i<this.a.length;i++)
{
if(this.a[i].checked)//如果选中
{
reVal+=this.a[i].value+"|";则将选中项的值得到
}
}
return reVal.substr(0,(reVal.length-1));//返回选中项的字符串
}
function SubBtn_Click()
{
var selStr=getSelStr();
if(selStr=="")
{
alert("请至少选择一项");
return false;
}
//表单提交代码
/*
document.SubForm.selAStr.value=selStr;
document.SubForm.submit();
*/
}
</script>
</head>
<body>
选项1<input type=checkbox name=a value=1 ><br>
选项2<input type=checkbox name=a value=2 ><br>
选项3<input type=checkbox name=a value=3 ><br>
选项4<input type=checkbox name=a value=4 ><br>
选项5<input type=checkbox name=a value=5 ><br>
选项6<input type=checkbox name=a value=6 ><br>
选项7<input type=checkbox name=a value=7 ><br>
选项8<input type=checkbox name=a value=8 ><br>
选项9<input type=checkbox name=a value=9 ><br>
删除选中项<input type=button name=SubBtn onClick=SubBtn_Click(); >
<form name=SubForm action=b.asp method=post >
<input name=selAStr type=hidden >
</form>
</body>
</html>[/CODE]
服务器端的几个处理函数
'批量删除数据的函数
'参数:
'DelStr上一个网页提交过来的Request.Form("selAStr")
'Field条件字段名称
'FType条件字段是文本型还是字符串型
'TBName删除数据的表名
'con数据库连接对象(ADODB.Connection)
Function VerifyDelStr(DelStr,Field,FType,TBName,con)
Dim DelAry
Dim i
Dim WheSql
Dim tSql
tSql="Delete * From "&TBName&" Where "
WheSql=""
DelAry=Split(DelStr,"|")
For i=0 To UBound(DelAry)-1
Select Case FType
Case "text"
WheSql=WheSql&Field&"='"&DelAry(i)&"'|"
Case "number"
WheSql=WheSqlField&"="&DelAry(i)&"|"
End Select
Next
WheSql=Mid(WheSql,1,Len(WheSql)-1)
WheSql=Replace(WheSql,"|"," Or ")
con.Execute(tSql&WheSql)
End Function

2007-03-19 14:55
dh2007
Rank: 1
等 级:新手上路
帖 子:228
专家分:0
注 册:2007-2-28
收藏
得分:0 
1:Select Case FType
Case "text"
WheSql=WheSql&Field&"='"&DelAry(i)&"'|"
Case "number"
WheSql=WheSqlField&"="&DelAry(i)&"|"
End Select
我不会用 select case 语句
麻烦帮我解释下好吗?

'Field条件字段名称
'FType条件字段是文本型还是字符串型

2:field到底是什么 是用来分割 request取得数据的字符吗?

3:FType又有什么用呢?

2007-03-21 17:25
yms123
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:209
帖 子:12488
专家分:19042
注 册:2004-7-17
收藏
得分:0 
以下是引用dh2007在2007-3-21 17:25:31的发言:
1:Select Case FType
Case "text"
WheSql=WheSql&Field&"='"&DelAry(i)&"'|"
Case "number"
WheSql=WheSqlField&"="&DelAry(i)&"|"
End Select
我不会用 select case 语句
麻烦帮我解释下好吗?
select case是选择性判断语句
这里的意思是如果FType这个变量的值等于text则执行text下面的语句。
如果FType等于number则执行number下面的语句。

'Field条件字段名称
'FType条件字段是文本型还是字符串型

2:field到底是什么 是用来分割 request取得数据的字符吗?

3:FType又有什么用呢?

Field是根据什么删除这些数据,也就是说,删除数据首先要找到数据才能删除。
打个比方来说删除ID为10的数据,那么ID是条件字段,10就是这个字段的值。
FType指的是条件字段的数据类型,比如ID是数字型那么FType就应该是number
或者说ID是文本型那么FType就是text

2007-03-21 17:48
dh2007
Rank: 1
等 级:新手上路
帖 子:228
专家分:0
注 册:2007-2-28
收藏
得分:0 

试了下好像不行啊


2007-03-22 10:26
阳光白雪
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:39
帖 子:2220
专家分:0
注 册:2005-11-18
收藏
得分:0 
把你的代码帖上来看看

专注于WEB前端交互平台开发:[url=http://blog./]blog.[/url](富客户端技术(RIA)交流平台)
2007-03-22 10:28
dh2007
Rank: 1
等 级:新手上路
帖 子:228
专家分:0
注 册:2007-2-28
收藏
得分:0 

我没用他前台的javascript,是直接交的
'批量删除数据的函数
'参数:
'DelStr上一个网页提交过来的Request.Form("selAStr")
'Field条件字段名称
'FType条件字段是文本型还是字符串型
'TBName删除数据的表名
'conn数据库连接对象(ADODB.Connection)

sub VerifyDelStr(DelStr,Field,FType,TBName,conn)
Dim DelAry
Dim i
Dim WheSql
Dim tSql
tSql="Delete * From "&TBName&" Where "
WheSql=""
DelAry=Split(DelStr,",")
For i=0 To UBound(DelAry)-1
Select Case FType
Case "text"
WheSql=WheSql&Field&"='"&DelAry(i)&"'|"
Case "number"
WheSql=WheSqlField&"="&DelAry(i)&"|"
End Select
Next
WheSql=mid(WheSql,1,Len(WheSql)-1)
WheSql=Replace(WheSql,"|"," Or ")
conn.Execute(tSql&WheSql)
End sub

call VerifyDelStr(del_str,"id","number",p_news,conn)


Microsoft VBScript 运行时错误 (0x800A0005)
无效的过程调用或参数: 'mid'


2007-03-22 10:38
阳光白雪
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:39
帖 子:2220
专家分:0
注 册:2005-11-18
收藏
得分:0 
del_str = Request.Form("复选框名称")
If del_str <> "" Then
call VerifyDelStr(del_str,"id","number",p_news,conn)
End If

专注于WEB前端交互平台开发:[url=http://blog./]blog.[/url](富客户端技术(RIA)交流平台)
2007-03-22 10:46
dh2007
Rank: 1
等 级:新手上路
帖 子:228
专家分:0
注 册:2007-2-28
收藏
得分:0 
没用还是
Microsoft VBScript 运行时错误 (0x800A0005)
无效的过程调用或参数: 'mid'


我自己写个算了,郁闷

2007-03-22 10:51
快速回复:如何用副选框实现多个数据选择性删除????
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.014226 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved