ASP查询页面问题,用的是MYSQL数据库
我的代码如下,是一个查询问题1、中间我有一段:
myconnection= "DSN=zlk;driver={MySQL ODBC 5.1 Driver};server=localhost;database=yhsj"
Set conn = Server.CreateObject("ADODB.Connection")
conn.open myconnection
Set rs = Conn.Execute(strsql)
的代码,还需不需要加“<!--#INCLUDE FILE="Connections/conn.asp"-->”一行;
2、执行这段代码出现:
myconnection= "DSN=zlk;driver={MySQL ODBC 5.1 Driver};server=localhost;database=yhsj"
Set conn = Server.CreateObject("ADODB.Connection")
conn.open myconnection
Set rs = Conn.Execute(strsql)
出现错误是:
错误类型:
Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
[MySQL][ODBC 5.1 Driver]Unknown database 'yhsj'
/index1024.asp, 第 62 行
无法找到数据库?我的数据库目录是:C:\AppServ\MySQL\data\test\yhsj.myd(用的mysql和asp);asp程序放在:C:\Inetpub\wwwroot\ziliao目录下是不是有影响。
代码如下:
<!--#INCLUDE FILE="Connections/conn.asp"-->
<html>
<head>
<title>我们的通讯录</title>
</head>
<body>
<%
'这两个变量用来确定查找关键字和字段
Dim keyword,field
If Trim(Request.Form("keyword"))<>"" Then
'如果条件成立,表示客户输入了关键字。则令keyword为客户指定的关键字,并令field为选定的字段
keyword=Request.Form("keyword")
field=Request.Form("field")
Else
'如果条件不成立,表示是第一次打开或客户提交了空字符串。则令keyword为空,并令field为默认的姓名字段name
keyword=""
field="name"
End If
%>
<h2 align="center">我的通讯录</h2>
<center>
<form action="index.asp" method="post">
输入你查找的内容<input type="text" name="keyword" value="<%=keyword%>">
查询项目
<select size=1 name="field">
<option value="name" <% If field="name" Then Response.Write "Selected"%>>姓名</a>
<option value="sex" <% If field="sex" Then Response.Write "Selected"%>>性别</a>
<option value="dhhm" <% If field="dhhm" Then Response.Write "Selected"%>>电话号码</a>
</select>
<input type="submit" value=" 提交 ">
</form>
<table border="0" width="90%">
<tr bgcolor="#B7B7B7" align="center">
<td width=25%>姓名</td>
<td width=40%>性别</td>
<td width=25%>电话号码</td>
</tr>
<%
'建立Recordset对象,如果输入了查询关键字,就查找记录,否则显示全部记录
Dim strSql,rs
If keyword<>"" Then
'这里的keyword其实是由空格隔开的多个关键字组成的,现在可以将其拆分成一个数组
Dim arrKeyword,numKeyword,I,condition
arrKeyword=Split(keyword," ") 'split函数会把keyword拆分成一个数组
numKeyword=Ubound(arrkeyword) 'numKeyword返回数组的最大下标,因为从0开始,所以关键字个数为numKeyword+1
'下面开始组织这个条件,先把第1个关键字写好
condition=field & " like '%" & arrKeyword(0) & "%'"
'下面再继续添加第2个、第3个……关键字。当然,如果只有一个关键字,就不执行下面的循环了
For I=1 To numKeyword
condition=condition & " And " & field & " like '%" & arrKeyword(I) & "%'"
Next
'下面组成完整的Select语句
strSql="Select * From test.yhsj Where " & condition
Else
strSql="Select * From test.yhsj"
End If
myconnection= "DSN=zlk;driver={MySQL ODBC 5.1 Driver};server=localhost;database=yhsj"
Set conn = Server.CreateObject("ADODB.Connection")
conn.open myconnection
Set rs = Conn.Execute(strsql)
Do While Not rs.Eof
%>
<tr bgcolor="#F2F2F2" align="center">
<td><a href="particular.asp?id=<%=rs("dhhm")%>" target="_blank"> <%=rs("xzbz")%></a></td>
<td><%=rs("yhxm")%></td>
<td><%=rs("dhhm")%></td>
<td><%=rs("tclx")%></td>
<td><%=rs("slrq")%></td>
<td><%=rs("ssqy")%></td>
<td><%=rs("fzry")%></td>
</tr>
<%
rs.MoveNext
Loop
%>
</table>
</center>
</body>
</html>
<!--#INCLUDE FILE="Connections/conn.asp"-->
<html>
<head>
<title>我们的通讯录</title>
</head>
<body>
<%
'这两个变量用来确定查找关键字和字段
Dim keyword,field
If Trim(Request.Form("keyword"))<>"" Then
'如果条件成立,表示客户输入了关键字。则令keyword为客户指定的关键字,并令field为选定的字段
keyword=Request.Form("keyword")
field=Request.Form("field")
Else
'如果条件不成立,表示是第一次打开或客户提交了空字符串。则令keyword为空,并令field为默认的姓名字段name
keyword=""
field="name"
End If
%>
<h2 align="center">我的通讯录</h2>
<center>
<form action="index.asp" method="post">
输入你查找的内容<input type="text" name="keyword" value="<%=keyword%>">
查询项目
<select size=1 name="field">
<option value="name" <% If field="name" Then Response.Write "Selected"%>>姓名</a>
<option value="sex" <% If field="sex" Then Response.Write "Selected"%>>性别</a>
<option value="dhhm" <% If field="dhhm" Then Response.Write "Selected"%>>电话号码</a>
</select>
<input type="submit" value=" 提交 ">
</form>
<table border="0" width="90%">
<tr bgcolor="#B7B7B7" align="center">
<td width=25%>姓名</td>
<td width=40%>性别</td>
<td width=25%>电话号码</td>
</tr>
<%
'建立Recordset对象,如果输入了查询关键字,就查找记录,否则显示全部记录
Dim strSql,rs
If keyword<>"" Then
'这里的keyword其实是由空格隔开的多个关键字组成的,现在可以将其拆分成一个数组
Dim arrKeyword,numKeyword,I,condition
arrKeyword=Split(keyword," ") 'split函数会把keyword拆分成一个数组
numKeyword=Ubound(arrkeyword) 'numKeyword返回数组的最大下标,因为从0开始,所以关键字个数为numKeyword+1
'下面开始组织这个条件,先把第1个关键字写好
condition=field & " like '%" & arrKeyword(0) & "%'"
'下面再继续添加第2个、第3个……关键字。当然,如果只有一个关键字,就不执行下面的循环了
For I=1 To numKeyword
condition=condition & " And " & field & " like '%" & arrKeyword(I) & "%'"
Next
'下面组成完整的Select语句
strSql="Select * From test.yhsj Where " & condition
Else
strSql="Select * From test.yhsj"
End If
myconnection= "DSN=zlk;driver={MySQL ODBC 5.1 Driver};server=localhost;database=yhsj"
Set conn = Server.CreateObject("ADODB.Connection")
conn.open myconnection
Set rs = Conn.Execute(strsql)
Do While Not rs.Eof
%>
<tr bgcolor="#F2F2F2" align="center">
<td><a href="particular.asp?id=<%=rs("dhhm")%>" target="_blank"> <%=rs("xzbz")%></a></td>
<td><%=rs("yhxm")%></td>
<td><%=rs("dhhm")%></td>
<td><%=rs("tclx")%></td>
<td><%=rs("slrq")%></td>
<td><%=rs("ssqy")%></td>
<td><%=rs("fzry")%></td>
</tr>
<%
rs.MoveNext
Loop
%>
</table>
</center>
</body>
</html>