论坛: 编程破解 标题: 数据库连接不上 复制本贴地址    
作者: ziaichen [ziaichen]    论坛用户   登录
本人在用ASP+ACCESS做一个B/S系统时,总是出现这个问题:
错误类型:
Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
[Microsoft][ODBC 驱动程序管理器] 未发现数据源名称并且未指定默认驱动程序

附一些代码:
<% @ LANGUAGE = "VBScript" %>
<%
Dim UserName, Password, Email
UserName = Trim(Request.Form("txtUserName"))
Password = Trim(Request.Form("txtPassword"))
Email = Trim(Request.Form("txtEmail"))
If UserName = " " Or Password = " " Or Email = " " Then
  Response.Redirect "register.htm"
End If
%>
<HTML>
<HEAD>
<TITLE>注册成功</TITLE>
<BODY>
<DIV ALIGN = "center">
<%
Dim cnn, rst, sSQL
Set cnn = Server.CreateObject("ADODB.Connection")
Set rst = Server.CreateObject("ADODB.Recordset")
cnn.ConnectionString = "DRIVE ={Microsoft Access Driver (*.mbb)};" &_
"DBQ =E:\02106202\123\database\test.mdb"
cnn.Open
sSQL = "SELECT * FROM users WHERE user_name='" & UserName & "'"
Set rst = cnn.Execute(sSQL, , adCmdText)
If Not rst.EOF Then
%>
<P><B>用户名“<% = UserName %>”已经被占用!</B></P>
<P>[<A HREF = "register.htm">返回注册页面</A>]</p>
<%
Else
sSQL = "INSERT users(user_name, password, email) VALUES"
sSQL = sSQL & "(' " & UserName & " ',' " & Password & " ',' " & Email & " ')"
cnn.Execute sSQL, , adCmdText
%>
<P><B>注册成功!</B></P>
<HR SIZE = "1" COLOR = "red">
<P>[<A HREF = "login.htm">立即登陆</A>]</p>
<% End If %>
</DIV>
</BODY>
</HEAD>
</HTML>

请指教,谢谢!

地主 发表时间: 06-05-29 18:22

回复: NetFog [q70213526]   版主   登录
网上搜索"数据库连接 ASP access "


B1层 发表时间: 06-05-29 21:23

回复: ziaichen [ziaichen]   论坛用户   登录
现在做了修改可以了,原来是数据库连接支持的驱动程序版本问题,改为如下:
<% @ LANGUAGE = "VBScript" %>
<%
Dim UserName, Password, Email
UserName = Trim(Request.Form("txtUserName"))
Password = Trim(Request.Form("txtPassword"))
Email = Trim(Request.Form("txtEmail"))
If UserName = " " Or Password = " " Or Email = " " Then
  Response.Redirect "register.htm"
End If
%>
<HTML>
<HEAD>
<TITLE>注册成功</TITLE>
<BODY>
<DIV ALIGN = "center">
<%
Dim cnn, rst, sSQL
Set cnn = Server.CreateObject("ADODB.Connection")
Set rst = Server.CreateObject("ADODB.Recordset")
cnn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;DATA SOURCE=" &_
Server.MapPath("database\test.mdb")
cnn.Open
sSQL = "SELECT * FROM users WHERE user_name='" & UserName & "'"
Set rst = cnn.Execute(sSQL, , adCmdText)
If Not rst.EOF Then
%>
<P><B>用户名“<% = UserName %>”已经被占用!</B></P>
<P>[<A HREF = "register.htm">返回注册页面</A>]</p>
<%
Else
sSQL = "INSERT INTO users(user_name,password,email)VALUES"
sSQL = sSQL&"('" & UserName & "','" & Password & "','" & Email & "')"
cnn.Execute sSQL, , adCmdText
%>
<P><B>注册成功!</B></P>
<HR SIZE = "1" COLOR = "red">
<P>[<A HREF = "login.htm">立即登陆</A>]</p>
<% End If %>
</DIV>
</BODY>
</HEAD>
</HTML>

但是新问题又有了,提示如下:
错误类型:
Microsoft JET Database Engine (0x80040E14)
INSERT INTO 语句的语法错误。
/123/saveReg.asp, 第 33 行

哎,迷茫啊

B2层 发表时间: 06-05-29 22:11

回复: NetFog [q70213526]   版主   登录
values前后似乎有空格的。

B3层 发表时间: 06-05-30 12:22

回复: ziaichen [ziaichen]   论坛用户   登录

我晕了
VALUES后面有空格确实能引起问题,但是我的没有
看了好多书,才发现将
sSQL = "INSERT INTO users(user_name,password,email)VALUES"
sSQL = sSQL&"('" & UserName & "','" & Password & "','" & Email & "')"
cnn.Execute sSQL, , adCmdText
改成
sSQL = "INSERT INTO users([user_name],[password],[email])VALUES"
sSQL = sSQL&"('" & UserName & "','" & Password & "','" & Email & "')"
cnn.Execute sSQL, , adCmdText
就OK了
ASP真的很难学啊
还有几天还遇到许多问题,许多是由于格式的问题或者驱动的问题,哎,郁闷啊,我的毕业设计啊,也不知道到什么时候才能完成哦。。。。

B4层 发表时间: 06-05-30 20:08

回复: sniper167 [sniper167]   论坛用户   登录
呵呵  好就没有看到楼主了  忍不住来灌点感情水
数据库偶不懂

B5层 发表时间: 06-05-31 10:20

回复: 286 [unique]   版主   登录
干么要分开写呀。
sSQL = "INSERT INTO users(user_name,password,email) VALUES('" & UserName & "','" & Password & "','" & Email & "')"


B6层 发表时间: 06-05-31 12:30

回复: ziaichen [ziaichen]   论坛用户   登录

286大哥好久不见啊,还有楼上的楼上的,哈,也是好久不见啊
这条语句
sSQL = "INSERT INTO users(user_name,password,email) VALUES('" & UserName & "','" & Password & "','" & Email & "')"
确实可以不分开写,但是我那个程序分开不分开都一样,看了好多东西,说是ASP和IIS之间的相互支持问题
改成:sSQL = "INSERT INTO users([user_name],[password],[email]) VALUES('" & UserName & "','" & Password & "','" & Email & "')"
就OK了,当时我狂晕,不就是SQL语句嘛,现在我还不怎么明白,忙了几天,终于把设计基本搞定了,全是手写的ASP代码啊。。。
好累,哈,啥也不会,什么时候再找你切磋切磋。。


B7层 发表时间: 06-06-01 18:00

回复: NetFog [q70213526]   版主   登录
你用什么写ASP??俺用editplus手写。SQL是精华,要学好。

B8层 发表时间: 06-06-01 18:09

回复: ziaichen [ziaichen]   论坛用户   登录
记事本
用VBscript做脚本语言

B9层 发表时间: 06-06-01 18:22

回复: NetFog [q70213526]   版主   登录
俺真佩服你了..唉..不想想那样的效率怎么样..虽然用EditPlus也是手写.但是代码带有颜色,看起来也容易.呵呵.

B10层 发表时间: 06-06-02 12:36

回复: ranchuan [ranchuan]   版主   登录
俺DW写,还行,自少代码有点色彩

B11层 发表时间: 06-06-02 15:00

回复: NetFog [q70213526]   版主   登录
俺穷,电脑跑起DW来慢。只有不得不布局的时候才用。对了Adobe的Golive也可以用来做网页布局,可惜打开的速度比DW还慢。不过比较不同的是他支持全div可视布局。不过俺用得不习惯。写程序都用EP写,打开速度和记事本一样。效率更高点。

B12层 发表时间: 06-06-02 16:26

论坛: 编程破解

20CN网络安全小组版权所有
Copyright © 2000-2010 20CN Security Group. All Rights Reserved.
论坛程序编写:NetDemon

粤ICP备05087286号