ASP中如何通过变量传值写入数据库有哪些方法
说到把变量值写进数据库,其实方法还挺多的,比如你看到的那个用ActionScript写的例子,超级简单:
- 点击按钮后用
loadVariables方法,把score变量的值拼接到URL里传给asp文件。 - 这个时候server端的asp接收到score参数,你就能拿它去写数据库了。
- 别忘了,这段代码只适用于ActionScript 2.0,老老实实确认score变量提前定义好了哈,千万别空着。
而在纯ASP里,比如你想在当前页设置变量i,然后弹出输入框让用户填,再把数据赋值给i,写法也是贼直观的:
function abc() {
i = document.getElementById("a").value;
alert("i=" + i);
}
这样一来,变量值就能抓到,后续用SQL啥的插入数据库就轻松啦。

ASP数据库插入和SQL查询动态生成具体操作有哪些点需要注意
- 插入数据
你只要用rs.new新建一条记录,给每个非空字段赋值,最后写个rs.update,就OK了。举个超简单的例子:
asp
rs("id") = ID '字段匹配你自己的变量或者值
rs.update
也可以用SQL直接执行插入语句:
asp
Conn.Execute("insert into 表名 (字段1,字段2) Values ('" & aaa & "','" & bbb & "')")
顺便提醒你,aaa是字符串所以要加单引号,bbb是数字就不用,这点细节可别忘啦。
-
理解SQL查询结果赋值
看到aboutssrs(4)这种写法别慌,它其实是用COM对象执行了SQL查询,通过数字下标取结果集中第5个字段的值(下标从0开始,so第4就是第5个字段啦)。你也可以用字段名更直白地访问,比如aboutssrs("id"),更清晰。 -
用ASP手写代码处理POST来的数据
你会碰见这种写法:
asp
Num_1 = CheckStr(Request.Form("Num_1"), 1)
If Num_1 = "" Then Num_1 = 0
If Num_1 > 0 Then
For i = 1 To Num_1
If CheckStr(Request.Form("attribute" & i), 0) <> "" Then
'操作逻辑
End If
Next
End If
它的意思就是先拿表单里传过来的数据,判断是不是空,是的话给个默认值0,再根据数值循环处理每个表单数据,简直是填表神器。
- 动态生成SQL按年月查询的方法
假设你想查询2009年11月的记录:
- 关键是把查询的年月做成变量
syear和smonth,可以通过用户输入什么的动态赋值。 - 用
Request对象获取用户填的年和月,然后拼SQL语句。 - 注意数据库里存日期的字段
infotime,格式一对才能筛得准哟。
-
SET 和 SELECT 给变量赋值的区别
-SELECT赋值是从查询语句拿数据赋给变量,讲究唯一结果,比如:sql SELECT ACCOUNT=ACCOUNT, @NAME=NAME FROM 用户表 WHERE ID=@ID
-
SET赋值是变量跟变量,或者变量直接初始化,比如:sql SET NAME='张三'
所以用哪个,得看你是从库里捞数据还是自己给变量赋初值。
![]()
相关问题解答
-
ASP里怎么把变量值发送给后台并写进数据库呢?
哇,这个超级简单啦!咱们可以用类似loadVariables("yourasp.asp?score=" + score, "replace")的方法,直接在前端拼个链接,把参数传过去。后台ASP接收到后,拿着参数值用SQL插入数据库就完事儿了。别忘了变量要先有值,不然传过去一片空白,数据库那边肯定傻眼。 -
用ASP该怎么写插入数据的SQL语句更靠谱?
这事儿你其实可以两条路走:一是用rs.new给字段赋值,再调用update,二是直接拼个insert into的SQL语句。关键是字符串记得用单引号包起来,数字啥的就直接写就好。切记,非空的字段都得给个值,否则数据库会闹脾气,不给你插入成功的。 -
有没有什么小技巧能方便处理用户表单传来的多个数据?
有有!比如拿到用户传来的Num_1数量,先判断有没有值,再用For循环逐一处理每个字段的数据。这样你就能批量验证、存储好几条记录,棒呆了!写起来听着复杂,其实一点点来明明白白很容易。 -
动态查询数据库按年月搜索要注意啥?
这个呀,最重要的是你得先拿到用户输入的年份和月份,存在变量里。然后动态拼接你的SQL语句,最后别忘了数据库时间字段格式一定要对,保证能按年月准确筛选。用Request对象拿数据,真是既方便又高效,查询啥的so easy!
新增评论