如何用ASP查询数据库中所有表的名称

如何用ASP查询数据库中所有表的名称,第1张

你所在的数据库里有一个系统代的表 sysobjects 这个表存储了该数据库的所有对象,包括表,存储过程,视图,等等。而表又分为系统表和用户表,系统表用 S来表示,用户表用 u 来表示。

下面是查询表的名字

select name from sysobjects where xtype = 'u'

希望我的回答对你有用:

第一句话定义了一个adodb数据库连接组件,第二句连接了数据库,大家只要修改后面的数据库名字就可以了。是不是很简单?

下面再看三句:

这三句加在前面两句的后面,第一句:设置查询数据库的命令,select后面加的是字段,如果都要查询的话就用,from后面再加上表的名字,我们前面建立的是不是一个gustbook表阿?第二句:定义一个记录集组件,所有搜索到的记录都放在这里面,第三句是打开这个记录集,exec就是前面定义的查询命令,conn就是前面定义的数据库连接组件,后面参数“1,1”,这是读取,后面讲到修改记录就把参数设置为1,3,好了接下来我们读取记录。

在一个表格中,我们用4列分别显示了上次建立的表里面的四个字段,用do循环,not

rseof的意思是条件为没有读到记录集的最后,rsmovenext的意思是显示完一条转到下面一条记录,就等于用于在html代码里面插入asp代码,主要用于显示变量。

假设你已创建数据库连接对象objConn,记录集对象objRS,记录标题字段Title,唯一标识字段ID

<%

strSql="SELECT FROM gz"

objRSopen strSql,objConn,1,1

if objRSRecordCount>0 then

objRSmovefirst

while not objRSeof

responsewrite rs("Title") & "<a href=""editaspid=" & CStr(objRS("ID")) & """>修改</a>" & "a href=""deleteaspid=" & CStr(objRS("ID")) & """>删除</a>" & "<br>"

objRSmoveNext

wend

objRSclose

首先不推荐使用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代码,你可以参考一下,

这样页面刷新后,就可以保持住你选择的那个选项的状态了

<%

dim rs,sql

set rs=servercreateobject("adodbrecordset")

zhanghao=RequestForm("textfield")

sql="select from jcs where zhanghao=" & zhanghao

rsopen sql,conn,1,3

if rsrecordcount>3 then

responsewrite("<Script language=JavaScript>alert('相同的有3条以上记录');</Script>")

end if

%>

----------------------------

应该可以了

以上就是关于如何用ASP查询数据库中所有表的名称全部的内容,包括:如何用ASP查询数据库中所有表的名称、ASP中如何将从数据库中查询到的一条记录的一个字…、asp中取出全部数据库记录等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存