ITPUB??ì3
ITPUB论坛 » WEB程序开发 » ASP的问题

新一届的微软MVP评选已经开始,欢迎各位推荐!

标题: ASP的问题
离线 Arraylwlv2
一般会员



精华贴数 0
个人空间 0
技术积分 246 (8040)
社区积分 0 (115441)
注册日期 2004-5-9
论坛徽章:0
      
      

发表于 2004-6-17 14:54 
ASP的问题

我想做个页面,就好象问卷调查,不过,我的存储过程不好
rs.Open "Select * from asp_user",cn,1,3
我在每次想增加到数据库中记录时,都需要把数据库中存的记录都读一边,不是当数据很多时,实在浪费资源嘛.我想直接INSERT,怎么做呀?还有我的rs("pc"=request.form("pc"是个多选项,如果我插入(提交我的网页),会插入PC项2,3这样的值,我怎么能把多选项中的","换成别的符号呀??

我怕说不清,把简单的小例子贴出来了,请指教!

<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<meta name="GENERATOR" content="Microsoft FrontPage 4.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<title>ff</title>
</head>

<%
dim cn
set cn=server.createobject("ADODB.connection"
cn.open="Provider=OraOLEDB.Oracle;data source=TEST1;user id=asp_test;password=asp_test;"
set rs=nothing
set rs=Server.CreateObject("ADODB.Recordset"
    rs.Open "Select * from asp_user",cn,1,3


response.write "add new record"
rs.addnew
rs("no"=request.form("no"
rs("name"=request.form("name"
rs("tel"=request.form("tel"
rs("pc")=request.form("pc")

rs.update
rs.Close
cn.close
set cn=nothing


%>
<body>
<form method="POST" action="ff.asp">
<table width="89%" border="0" cellspacing="0" cellpadding="0" height="169" align="center">
               <tr><td height="30%" width="30%"><font size="2" align="left">编号</font>
                  <input type="text" name="id" size="37">
                </td></tr>  
                             
                <tr><td height="30%" width="30%"><font size="2" align="left">姓名</font>
                  <input type="text" name="name" size="37">
                </td></tr>  
                              
                <tr><td height="30%" width="30%"><font size="2" align="left">电话</font>
                  <input type="text" name="tel" size="37">
                </td></tr>
                        
                <tr><td height="30%" width="30%"><font size="2" align="left">您使用的计算机</font>
                   <input type="checkbox" name="pc" value="1"> <font size="2" align="left">品牌</font>
                   <input type="checkbox" name="pc" value="2"> <font size="2" align="left">兼容</font>  
                   <input type="checkbox" name="pc" value="3"> <font size="2" align="left">笔记本</font>  
                   <input type="checkbox" name="pc" value="4"> <font size="2" align="left">无</font>  
                </td></tr>
                     
               <td width="73" height="124">
                     
<p align="center"><input type="submit" value=" 发送 " name="B1">
                   <input type="reset"  value=" 重填 " name="B2"></p>

</table>
</form>

  
</body>
response.write "add new record"


只看该作者    顶部
离线 ocptobe
资深会员



精华贴数 0
个人空间 0
技术积分 1790 (949)
社区积分 66 (4363)
注册日期 2002-3-4
论坛徽章:3
管理团队2006纪念徽章会员2006贡献徽章授权会员   
      

发表于 2004-6-17 15:07 
不明白,你插入数据时为何还加入一条:
rs.Open "Select * from asp_user",cn,1,3
没必要啊。而且不要用select *这种语句,效率极低,而是把那些需要的字段列出来,不要闲麻烦。


__________________
To the world you may be one person,but to one person you may be the world.
只看该作者    顶部
离线 罗滨森
一般会员


精华贴数 0
个人空间 0
技术积分 268 (7420)
社区积分 32 (6229)
注册日期 2003-3-1
论坛徽章:0
      
      

发表于 2004-6-17 15:10 
sql="insert into table (字段1,字段2)values('aaa','bbb')"
conn.execute(sql)
添加记录
不过这种方法太危险了

sql="insert table(字段1,字段2)vlues(?,?)"
set cmd=server.createobject("ADODB.Command"
cmd.ActiveConnection = conn
cmd.CommandType = adCmdText
cmd.CommandText = sql
cmd.Parameters.Item(0).Value = 'aaa'
cmd.Parameters.Item(1).Value = 'bbb'
cmdADO.Execute


只看该作者    顶部
离线 lwlv2
一般会员



精华贴数 0
个人空间 0
技术积分 246 (8040)
社区积分 0 (115441)
注册日期 2004-5-9
论坛徽章:0
      
      

发表于 2004-6-17 15:37 


QUOTE:
最初由 ocptobe 发布
不明白,你插入数据时为何还加入一条:
rs.Open "Select * from asp_user",cn,1,3
没必要啊。而且不要用select *这种语句,效率极低,而是把那些需要的字段列出来,不要闲麻烦。


如果不写rs.Open "Select * from asp_user",cn,1,3
我后面的rs.addnew就不能执行.RS他不知道RS是什么东西了


只看该作者    顶部
离线 lwlv2
一般会员



精华贴数 0
个人空间 0
技术积分 246 (8040)
社区积分 0 (115441)
注册日期 2004-5-9
论坛徽章:0
      
      

发表于 2004-6-17 15:39 


QUOTE:
最初由 罗滨森 发布
sql="insert into table (字段1,字段2)values('aaa','bbb')"
conn.execute(sql)
添加记录
不过这种方法太危险了

sql="insert table(字段1,字段2)vlues(?,?)"
set cmd=server.createobject("ADODB.Command"
cmd.ActiveConnection = conn
cmd.CommandType = adCmdText
cmd.CommandText = sql
cmd.Parameters.Item(0).Value = 'aaa'
cmd.Parameters.Item(1).Value = 'bbb'
cmdADO.Execute


你的意思是sql="insert into table (字段1,字段2)values('aaa','bbb')"
conn.execute(sql)
这种方法太危险了???


那你这种方法呢?怎么样?
sql="insert table(字段1,字段2)vlues(?,?)"
set cmd=server.createobject("ADODB.Command"
cmd.ActiveConnection = conn
cmd.CommandType = adCmdText
cmd.CommandText = sql
cmd.Parameters.Item(0).Value = 'aaa'
cmd.Parameters.Item(1).Value = 'bbb'
cmdADO.Execute [/QUOTE]


只看该作者    顶部
离线 tramp
初级会员



精华贴数 0
个人空间 0
技术积分 70 (21903)
社区积分 0 (53263)
注册日期 2002-2-26
论坛徽章:0
      
      

发表于 2004-6-17 15:49 
打开一个空记录集不就行了

rs.Open 'Select * from asp_user where 1=2',cn,1,3


只看该作者    顶部
离线 lwlv2
一般会员



精华贴数 0
个人空间 0
技术积分 246 (8040)
社区积分 0 (115441)
注册日期 2004-5-9
论坛徽章:0
      
      

发表于 2004-6-17 15:58 


QUOTE:
最初由 tramp 发布
打开一个空记录集不就行了

rs.Open 'Select * from asp_user where 1=2',cn,1,3


where 1=2,是什么意思??


只看该作者    顶部
离线 zjcdillion
中级会员



精华贴数 0
个人空间 0
技术积分 543 (3636)
社区积分 42 (5444)
注册日期 2004-1-29
论坛徽章:2
授权会员2008北京奥运纪念徽章:柔道    
      

发表于 2004-6-17 16:04 


QUOTE:
最初由 罗滨森 发布
sql="insert into table (字段1,字段2)values('aaa','bbb')"
conn.execute(sql)
添加记录
不过这种方法太危险了

sql="insert table(字段1,字段2)vlues(?,?)"
set cmd=server.createobject("ADODB.Command"
cmd.ActiveConnection = conn
cmd.CommandType = adCmdText
cmd.CommandText = sql
cmd.Parameters.Item(0).Value = 'aaa'
cmd.Parameters.Item(1).Value = 'bbb'
cmdADO.Execute


为什么那种方法危险,据我了解您这种方法是调用存储过程的用法

楼主您把
set rs=noting
rs"select * from ......"
那句去了试试


只看该作者    顶部
离线 lwlv2
一般会员



精华贴数 0
个人空间 0
技术积分 246 (8040)
社区积分 0 (115441)
注册日期 2004-5-9
论坛徽章:0
      
      

发表于 2004-6-17 16:09 
因为页面有缓存,我想在下次录入时,清空缓存,可以吗?


只看该作者    顶部
离线 罗滨森
一般会员


精华贴数 0
个人空间 0
技术积分 268 (7420)
社区积分 32 (6229)
注册日期 2003-3-1
论坛徽章:0
      
      

发表于 2004-6-18 13:21 
aaa='aaa';update table set 字段1='bbb';-->'
sql="insert into table (字段1,字段2)values('" & aaa & "','bbb')"
conn.execute(sql)
知道危险了吗~


只看该作者    顶部
相关内容


CopyRight 1999-2006 itpub.net All Right Reserved.
北京皓辰广域网络信息技术有限公司. 版权所有
E-mail:Webmaster@itpub.net
京ICP证:010037号 联系我们 法律顾问