用session对象
还写一个处理前台表单提交的文件用来写入数据库
写入时也是用赋值语句
只不过多了几句打开数据库的语句及指定数据库中写入位置
set sql
rs open
rs(name)=request(name)
等等
1Access数据库的DSN-less连接方法:
set adocon=ServerCreateobject("adodbconnection")
adoconnOpen"Driver={Microsoft Access Driver(mdb)};DBQ="& _
ServerMapPath("数据库所在路径")
2Access OLE DB连接方法:
set adocon=ServerCreateobject("adodbconnection")
adoconopen"Provider=MicrosoftJetOLEDB40;"& _
"Data Source=" & ServerMapPath("数据库所在路径")
3SQL server连接方法:
set adocon=servercreateobject("adodbrecordset")
adoconOpen"Driver={SQL Server};Server=(Local);UID=;PWD=;"& _
"database=数据库名;"
4SQL server OLE DB连接方法:
set adocon=ServerCreateobject("adodbconnection")
adoconopen"provider=SQLOLEDB1;Data Source=RITANT4;"& _
"user ID=;Password=;"& _
"inital Catalog=数据库名"
5Oracle 连接方法:
set adocon=ServerCreateobject("adodbconnection")
adoconopen"Driver={microsoft odbc for oracle};server=oracleseverworld;uid=admin;pwd=pass;"
6Oracle OLE DB 连接方法:
set adocon=ServerCreateobject("adodbconnection")
adoconopen"Provider=OraOLEDBOracle;data source=dbname;user id=admin;password=pass;"
7dBase 连接方法:
set adocon=ServerCreateobject("adodbconnection")
adoconopen"Driver={microsoft dbase driver(dbf)};driverid=277;dbq=------------;"
8mySQL 连接方法:
set adocon=ServerCreateobject("adodbconnection")
adoconopen"Driver=;database=yourdatabase;
uid=username;pwd=yourpassword;option=16386;"
9Visual Foxpro 连接方法:
set adocon=ServerCreateobject("adodbconnection")
adoconopen"Driver={microsoft Visual Foxpro driver};sourcetype=DBC;sourceDB=dbc;Exclusive=No;"
10MS text 连接方法:
set adocon=ServerCreateobject("adodbconnection")
adoconopen"Driver={microsoft text driver(txt; csv)};dbq=-----;"&_
"extensions=asc,csv,tab,txt;Persist SecurityInfo=false;"
11MS text OLE DB 连接方法:
set adocon=ServerCreateobject("adodbconnection")
adoconopen"Provider=microsofjetoledb40;data source=your_path;"&_
"Extended Properties'text;FMT=Delimited'"
数据库的语句跟你用什么数据库有关,跟web编程语言无关。但是各个语言链接数据库的代码是不同的
sql中对表的查询 *** 作是这样的
select
from
456
其中星号表示选择这个表中的所有字段。456就是表名了。
<!--#include file="connasp"-->
<%
set rs=ServerCreateObject("ADODBRecordSet")
sql="select top 20 from test where username like '%kiming%' order by id desc"
rsOpen sql,conn,1,3
ResponseContentType = "text/xml"
ResponseExpires = -1
ResponseWrite("<xml version='10' encoding='gb2312' standalone='yes' >")
ResponseWrite("<list>")
ResponseWrite("<FolderList>")
do while not rseof
ResponseWrite("<Folder USERNAME='"&rs("username")&"' MESSAGE='"&rs("message")&"' EMAIL='"&rs("email")&"' />")
rsmovenext
loop
ResponseWrite("</FolderList>")
ResponseWrite("</list>")
if Connstate<>0 then Connclose
set Conn=nothing
if rsstate<>0 then rsclose
Set rs = Nothing
%>
首先不推荐使用SELECT
,最好是你要使用哪些字段,就列出那些字段
SELECT
备编号,设备名称,设备类型,使用年限,所属部门
FROM
表名
WHERE
所属部门=[选中的部门]
AND
设备类型
=
[选中的类型]
我想你SQL语句应该会写,这个地方难点在于,你检索的条件,不一定同时出现,有可能只出现一个,
即
SELECT
备编号,设备名称,设备类型,使用年限,所属部门
FROM
表名
WHERE
所属部门=[选中的部门]
或
SELECT
备编号,设备名称,设备类型,使用年限,所属部门
FROM
表名
WHERE
设备类型
=
[选中的类型]
还有最初的一条
这三条检索词句都可能出现这个也是开发时常遇到的动态SQL问题
在程序中,执行SQL语句的是API提供的方法,一般只要传一个字符串即可,
那我们就可以在字符串上做手脚
首先创建一个条件为真的SQL语句
String
strSQL
=
"SELECT
备编号,设备名称,设备类型,使用年限,所属部门
FROM
表名
WHERE
1=1
"
这条SQL执行的结果,与不加WHERE的结果是相同的,
这样做了以后,条再有变化就可以添加字符串"
AND
字段=表达式
"
这样的字符串,以达到运态SQL所要求的效果
以你的问题举例
if
部门选择了
strSQL
+=
"AND
所属部门=选中的部门
";
if
部门选择了
strSQL
+=
"AND
设备类型
=
选中的类型
";
这样,根据选择的不同可以得到三种SQL
SELECT
备编号,设备名称,设备类型,使用年限,所属部门
FROM
表名
WHERE
1=1
AND
所属部门=[选中的部门]
SELECT
备编号,设备名称,设备类型,使用年限,所属部门
FROM
表名
WHERE
1=1
AND
设备类型
=
[选中的类型]
SELECT
备编号,设备名称,设备类型,使用年限,所属部门
FROM
表名
WHERE
1=1
AND
所属部门=[选中的部门]
AND
设备类型
=
[选中的类型]
这样应该可以达到你想要的结果了
这个要注意的是,在你写的字符串后,都要加一个空格,
要不然拼出来的结果就是
SELECT
备编号,设备名称,设备类型,使用年限,所属部门
FROM
表名
WHERE
1=1AND
所属部门=[选中的部门]AND
设备类型
=
[选中的类型]
AND与前面的表达式挨在一起了,这样,这就不是一个合法的SQL语句,这点要注意
这也是在实际中常遇到的问题
就是那个页面是可以反复查询的,代码怎么编
对于这个问题很迷惑,你做完查询以后,不是回到这个页吗这个问题实再不知道你想问什么
表单提交后下拉列表的值又变成了原来的值,
这个是正常的,因为页面刷新后,页面上的控件如时不控制的话,都会变成初始状态
这个需要手动控制,
<select
name="sel">
<option
value="0">
</option>
<option
value="1">>部门1</option>
<option
value="2">>部门2</option>
<option
value="3">>部门3</option>
</select>
假如说你提交的是部门3,你得到了3这个值,那么在回到页面时,你要在option中加上selected这个标记,即
<select
name="sel">
<option
value="0">
</option>
<option
value="1">>部门1</option>
<option
value="2">>部门2</option>
<option
value="3"
selected>>部门3</option>
</select>
一船的做法是,记住提交的值
<select
name="sel">
<option
value="0">
</option>
<option
value="1"
<%
if(value==1){outprintln("selected");}%>>>部门1</option>
<option
value="2"
<%
if(value==2){outprintln("selected");}%>>>部门2</option>
<option
value="3"
<%
if(value==3){outprintln("selected");}%>
>>部门3</option>
</select>
以上是JSP代码,你可以参考一下,
这样页面刷新后,就可以保持住你选择的那个选项的状态了
分析你的问题:
要搜索在数据库中查找指定学号,此时可能是模糊查询,也可能是完全匹配。根据你的需求,要把查到的结果集中此人的姓名赋值给abc,说明这是一个完全匹配的查找,否则就会出现多条记录,就不能单独赋值给变量abc了。
首先,查数据库:
dim username,abc '定义两个变量
username=trim(requestForm("username")) '先把表单项username的值取出来并进行trim处理,同时赋值给username变量
rsopen "select top 1 from voteuser where username='"&username&"'",conn,1,1 '这里执行一条sql语句进行查找,为了防止重复记录,这里用了top 1限制只取1条记录
if rsrecordcount>0 then '这里判断是否查找到结果,即rsrdcordcount的值是否大于0
abc=rs("truename") '条件成立,把truename字段的赋值给变量abc
end if
responsewrite abc '输出变量abc的值
select from data where filepath like 'a/a/a/%'
这样后面的被符号"%"通配就好了
如果写成
select from data where filepath like '%a/a/a/%'
那么就成了包含"a/a/a/"的都回被选出来
select top 10 from (select top 20 from table AS a order by id asc) order by id DESC
你的查询语句写入括号中 前边加top 20 就行了 你试试吧
以上就是关于asp查询数据库全部的内容,包括:asp查询数据库、ASP查询数据库、asp的数据库查询语句等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)