asp查询数据库

asp查询数据库,第1张

用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的数据库查询语句等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10181431.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-06
下一篇 2023-05-06

发表评论

登录后才能评论

评论列表(0条)

保存