asp连接数据库

yanxh 2000-02-23 12:15:00
我编写了一个asp文件,是连接数据库的,可是老是出现错误,我已建立了系统DSN了,没有UID和PWD.
<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>New Page 1</title>
<meta name="GENERATOR" content="Microsoft FrontPage 3.0">
<meta name="Microsoft Theme" content="global 101, default">
<meta name="Microsoft Border" content="tl, default">
</head>

<body>

<p><%Set MyConnection = Server.CreateObject("ADODB.Connection")
MyConnection.Open "AddressBook","",""
Set MyCommand=Server.CreateObject("ADODB.Command")
MyCommand.CommandType=1
MyCommand.CommandText="select * from person where name='"&Request.Form("T1")&"'"
Set myp1=MyCommand.CreateParameter("mname",129,1,10)
MyCommand.Parameters.append myp1
MyCommand.Parameters("mname")=Request.Form("T1")
Set MyCommand.ActiveConnection=MyConnection
Set RS1=MyCommand.Execute
if RS1.EOF then
Response.Write "没有这个人唷!"
Set RS1=Nothing
Set MyConnection=Nothing
Set MyCommand=Nothing
else
Response.Write RS1.Fields("name")
Response.Write RS1.Fields("tel")
Response.Write RS1.Fields("addr")
Set RS1=Nothing
Set MyConnection=Nothing
Set MyCommand=Nothing
end if
%>
</body>
</html>
错误信息如下:

Provider 错误 '80040154'

类没有注册

/homer/asp/check1.asp, 行18
我也检查了数据源DSN也没有写错呀.请帮忙.我的email: directory@sina.com
...全文
304 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
voyager 2000-03-02
  • 打赏
  • 举报
回复
你看到的PWS的欢迎界面,只要在Frontpage 的网站管理中打开
首页(在PWS中设置的,如default.asp或index.htm),再保存就可了。
只怪microsoft is so 霸道。.
yanxh 2000-02-24
  • 打赏
  • 举报
回复
haha @_@ , I have solved the problem SUCCESSFULLY, but I still did it with ODBC.
Thanks for your help, Zdg , I still add point to you.
zdg 2000-02-23
  • 打赏
  • 举报
回复
Sample:

<%
Set Conn=Server.CreateObject("ADODB.Connection")
Connstr="DBQ="+server.mappath("AddrBook.mdb")+";DRIVER={Microsoft Access Driver (*.mdb)};"
Conn.Open connstr

set rs=Conn.Execute("select name from person")
while not rs.EOF
Response.Write rs("name")&"<br>"
rs.MoveNext
wend
Response.Write "OK......"
%>
yanxh 2000-02-23
  • 打赏
  • 举报
回复
还是一样的错误,你能否把代码改变成为本地的,不用我上面那种自动生成的,最好是个完整的
ASP文件,谢谢.
zdg 2000-02-23
  • 打赏
  • 举报
回复
你可能使用了自动生成的代码, 我不是很清楚, 我建议你使用本地连接, 不用DSN...
<%
Set Conn=Server.CreateObject("ADODB.Connection")
Connstr="DBQ="+server.mappath("AddrBook.mdb")+";DRIVER={Microsoft Access Driver (*.mdb)};"
Conn.Open connstr
%>
SQL 语句执行可以用:
set rs=Conn.Execute("......")
yanxh 2000-02-23
  • 打赏
  • 举报
回复
AddressBook是DSN别名.
我试过了,写成MyConnection.Open "DSN=AddressBook;UID=;PWD=;",还是这个错误..
我说的再详细一点吧:

我用access97建立了一个通讯录数据库名为AddrBook.mdb,里面只有一个表person,如下
name tel addr age
张三 0431 大马路 12
李四 0876 西大街 43
然后我点击控制面板的32ODBC图标,添加"系统DSN",
数据源名: AddressBook
描述文字: Access 97通讯资源库
选择数据库:c:\my document\AddrBook.mdb
最后我打开了access,调出了AddrBook.mdb,选择了"文件"->另存为HTML,接着我"下一步"
没有选择 HTML模板,只在数据源上写了"AddressBook" ,按了ok后在c:\my document目录下
生成了一个person_1.asp文件,我然后利用frontpage98将它发布了.但是结果和上面的一模
一样.请问为什么.我的pws安装的没有问题,可以在浏览器中输入127.0.0.1看到pws的欢迎界面.
这可能是什么问题呢?这个问题已困了我好些天了.
zdg 2000-02-23
  • 打赏
  • 举报
回复
AddressBook是什么?
如果是DSN别名需要加上
AddressBook="dsn=????;uid=??;pwd=??"
yanxh 2000-02-23
  • 打赏
  • 举报
回复
因为我是初学者,上面的话我还是不懂,而且错误代码行数是在
18行上,我数了一下,是下面一句:
MyConnection.Open "AddressBook","",""
老是说"类没有注册",你能否将上面的改法写出来,如哪一行应该写成什么样的句
子后,上面的代码才能正确执行.谢谢.
zdg 2000-02-23
  • 打赏
  • 举报
回复
出错在:
Set myp1=MyCommand.CreateParameter("mname",129,1,10)

执行SQL语句可以用MyConnection.Execute更简单.

28,390

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧