推荐.NET教程: ASP.NET C# 开发环境 Ajax教程 控件开发 统计报表 数据库 Web服务 安装部署 CommunityServer NHibernate DataGrid/GridView 实用代码 VS2005
示例源码 MVC/三层 SqlHelper 入门源码 开源 CMS Ajax/Atlas C#.net 毕业设计 源码 经典代码 商业 本站作品 持久层 随书源码 WebService 英文/汉化 Asp.net2.0

阿牛·乐园

每天进步一点点

  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
  80 随笔 :: 14 文章 :: 389 评论 :: 13 引用

在写SQL语句时,我们经常用到如下的语句:

dim collIds

collIds=“2,3,4,5,..........8999“

sql=“delete form  TableA where a.nid in (“ & collIds & “)“

conn.execute sql

''  这时,如果 collIds 太长,我们需要分多次执行才能成功, SQL语名最多才4000行,如果超出去,要失败的.

这时我们可能想这样执行:

sql=“delete form  TableA where a.nid in (1,2,3)“

rs.open sql ,conn,1,1

sql=“delete form  TableA where a.nid in (4,52,7)“

rs.open sql ,conn,1,1

但是如何正确的分隔这些串呢?  我写了一个函数 :

写一个截字串的函数,方便组成SQL字串 
--------------------------------------------------------------------------------
 
在写SQL语句时,我们经常用到如下的语句:

dim collIds

collIds
=2,3,4,5,.8999

sql
=“delete form  TableA where a.nid in (“ & collIds & “)“

conn.execute sql 

''  这时,如果 collIds 太长,我们需要分多次执行才能成功, SQL语名最多才4000行,如果超出去,要失败的.

这时我们可能想这样执行:

sql
=“delete form  TableA where a.nid in (1,2,3)“

rs.open sql ,conn,
1,1

sql
=“delete form  TableA where a.nid in (4,52,7)“

rs.open sql ,conn,
1,1

但是如何正确的分隔这些串呢?  我写了一个函数 :

function mySplit(str,span,maxLenPerEle)
 
dim pos,temp,i
 
dim arr()
 
redim arr(len(str)/maxLenPerEle + 1)
 temp
=str
 i
=0
 
while(len(temp) > maxLenPerEle)
  pos
=instrRev(temp,span,maxLenPerEle,1)
  
if(pos>0then 
   arr(i)
=mid(temp,1,pos-1)
   temp
=mid(temp,pos+1)
   i
=i+1
  
end if
 
wend
 
if(len(temp)>0then
  arr(i)
=temp
 
end if
 
redim preserve arr(i)
 mySplit
=arr
end function 


'' 在使用时,我们这样

 arr
=mysplit(ygbhs,",",2000)
 
for each s in arr
  sql
="delete from table where nid in (" & s & ")"
  conn.execute sql 
 
next


 
posted on 2006-09-30 10:54 阿牛 阅读(136) 评论(0)  编辑 收藏 网摘 所属分类: MSSqlASP




标题  
姓名  
主页
Email (博主才能看到) 
验证码 *  看不清,换一张 [登录][注册]
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
Google站内搜索

China-pub 计算机图书网上专卖店!6.5万品种 2-8折!
近千种 9-95 新二手计算图书火热销售中!
开发者征途系统新作:《设计模式——基于C#的工程化实现及扩展》

相关文章:

相关链接: