关于asp网页代码中access数据库的SQL查询问题
发布网友
发布时间:2022-04-12 14:56
我来回答
共2个回答
懂视网
时间:2022-04-12 19:17
可能很多在使用access的朋友都没有打开过Access的系统内置表,这篇文章可以帮助大家简单了解下系统内置表。 程序代码 %sqlcmd=select name from [msysobjects] where type=1 and flags=0% 用这条 语句 就可以取得Access数据库中 所有 表,但需要设置读取MSys
可能很多在使用access的朋友都没有打开过Access的系统内置表,这篇文章可以帮助大家简单了解下系统内置表。
程序代码
<%sqlcmd="select name from [msysobjects] where type=1 and flags=0"%>
用这条语句就可以取得Access数据库中所有表,但需要设置读取MSysObjects表的权限,否则会出现“不能读取记录;在 'MSysObjects'上没有读取数据权限”的错误提示。
office 2003设置:工具 -> 选项 -> 视图 -> 勾选隐藏对象、系统对象。工具 -> 安全 -> 用户与组的权限 ,在对象名称中选定 MSysObjects ,然后权限中设置其读取权限。
office 2007设置:单击左上角图标 -> Access选项 -> 当前数据库 -> 导航 -> 导航选项 -> 勾选显示隐藏对象,显示系统对象。数据库工具选项卡 -> 用户和权限 -> 用户与组权限,对象类型选择表,对象名称选定MSysObjects,然后勾选“读取数据”权限
还有一种方法可以实现读取Access数据库中所有表:
程序代码
<%
set rs=conn.openSchema(20)'返回包含模式信息的 Recordset 对象
rs.filter="table_type='table'"'筛选table_type为table类型的数据表,其他类型为系统内置表
do while not rs.eof
response.write(rs("TABLE_NAME"))'用recordset记录集获取列名为table_name的数据
response.Write("
")
rs.movenext:loop
%>
热心网友
时间:2022-04-12 16:25
<%‘连接数据库
db = "md.mdb" '前提时保证数据库文件和本文件在统一目录
connstr = "DBQ=" + server.mappath(""&db&"") + ";DefaultDir=;DRIVER={Microsoft Access Driver (*.mdb)};"
Set conn = server.CreateObject("ADODB.CONNECTION")
conn.Open connstr
set rs = server.CreateObject("adodb.recordset")
'分页函数
sub pcfinal_page(pageMark)'以pageMark作为分页标志
action = "http://" & request.servervariables("http_host") & request.servervariables("script_name")
query = Split(request.servervariables("query_string"), "&")
For Each x in query
a = Split(x, "=")
If StrComp(a(0), pageMark, vbTextCompare) <> 0 Then
temp = temp & a(0) & "=" & a(1) & "&"
End If
Next
response.Write("<div style=""text-align:center;clear:both;""><form method='get' onsubmit=""document.location ='"&action&"?"&temp&pageMark&"='+ this."&pageMark&".value;return false;"">")
If page<= 1 Then
response.Write ("首页 上一页 ")
Else
response.Write("<a href='"&action&"?"&temp&pageMark&"=1'>首页</a> <a href='"&action&"?"&temp&pageMark&"="&(page -1)&"'>上一页</a> ")
End If
If page>= maxpage Then
response.Write ("下一页 尾页 ")
Else
response.Write("<a href='"&action&"?"&temp&pageMark&"="&(page+1)&"'>下一页</a> <a href='"&action&"?"&temp&pageMark&"="&maxpage&"'>尾页</a> ")
End If
response.Write("["&page&"/"&maxpage&"页] [共"&allpage&"条记录] 转到第 <input type='text' name='"&pageMark&"' size='3' value='"&page&"'> 页 <input type='submit' value='跳转'/></form></div>")
end sub
'列出信息
sql = "select * from mingdan order by id"
rs.open sql,conn,1,1
%>
<table width="100%" border="0" cellspacing="0" cellpadding="0" align="center">
<tr class="specialLineCont">
<th>序号</th>
<th>姓名</th>
<th>性别</th>
<th>身份证号码</th>
<th>年龄</th>
</tr>
<%
page = request("page")
If Not IsNumeric(page) Or page = "" Then
page = 1
Else
page = CInt(page)
rs.pagesize = 25
maxpage=rs.pagecount
allpage=rs.Recordcount
End If
If page<1 Then
page = 1
ElseIf page>maxpage Then
page = maxpage
End If
if page = 1 then
specialID = 1
else
specialID = (page-1)*rs.pagesize
end if
rs.AbsolutePage = Page
If page = maxpage Then
x = allpage - (maxpage -1) * iPageSize
Else
x = iPageSize
End If
if rs.eof then
response.Write("暂无内容!")
else
rs.absolutepage = page
for q=1 to rs.pagesize
if not rs.eof then
%>
<tr align="center">
<td><%=rs("ID")%></td>
<td><%=rs("xm")%></td>
<td><%=Rs("xb")%></td>
<td><%=Rs("sfzh")%></td>
<td><%=Rs("nl")%></td>
</tr>
<%Rs.movenext
end if
next%>
</table>
<%
call pcfinal_page("page")
end if
%>追问但是上面代码中字段值是数值型就是正确的?