主题:  請高手指點..謝謝

achou

职务:普通成员
等级:1
金币:0.0
发贴:36
#12004/7/10 11:56:38
請幫忙看一下以下代碼有沒有錯誤,要怎麼樣修改:
<%
if request("submit")="添加" then
bookid = replace(request("bookid"),"'","''")
name = replace(request("name"),"'","''")
price = request("price")
qty = request("qty")
set conn=server.createobject("ADODB.connection")
DBPath=server.mappath("data.mdb")
conn.open "driver={Microsoft Access Driver(*.mdb)};dbq="&DBPath
sqlcmd="insert into product(bookid,name,price,qty)values('"&bookid&"','"&name&"','"&price&"',"&qyt&")"
conn.execute sqlcmd
conn.close
end if
%>

提示錯誤:
HTTP 错误 500.100 - 内部服务器错误 - ASP 错误
Internet 信息服务

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

技术信息(用于支持人员)

错误类型:
Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
[Microsoft][ODBC 驱动程序管理器] 未发现数据源名称并且未指定默认驱动程序
/hand/asp.asp, 第 9 行

编辑历史:[此帖最近一次被 achou 编辑过(编辑时间:2004-07-11 15:45:20)]

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

菜鸟级-----傻瓜
我的小站#-#

achou

职务:普通成员
等级:1
金币:0.0
发贴:36
#22004/7/10 12:29:06
高手們今天也放假嗎..

怎麼沒人回答啊..


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

菜鸟级-----傻瓜
我的小站#-#

浮尘

职务:普通成员
等级:3
金币:7.0
发贴:1258
#32004/7/10 19:44:04
& name & "'.'" & price
应该是 & name & "','" & price 吧,用逗号呀。别的没看。



achou

职务:普通成员
等级:1
金币:0.0
发贴:36
#42004/7/11 10:16:49
這個沒錯..但是它現在是提示找到到數據庫驅動程序啊...

要怎麼解決..


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

菜鸟级-----傻瓜
我的小站#-#

achou

职务:普通成员
等级:1
金币:0.0
发贴:36
#52004/7/11 15:44:21
还是没人懂啊....

5555555..帮一下忙啦.....555


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

菜鸟级-----傻瓜
我的小站#-#

沉默是金

职务:普通成员
等级:6
金币:11.2
发贴:4357
#62004/7/11 18:44:03
问题一:
sqlcmd="insert into product(bookid,name,price,qty)values('"&bookid&"','"&name&"','"&price&"',"&qyt&")"

bookid是数值的话,在插入的时候不需要用单引号,如果是自动编号的话,你是没有办法改变它的ID的

问题二:
[Microsoft][ODBC 驱动程序管理器] 未发现数据源名称并且未指定默认驱动程序
末发现数据源名称哟!
:)

问题三:
bookid=replace(request("bookid"),"'","")


难人一个……

achou

职务:普通成员
等级:1
金币:0.0
发贴:36
#72004/7/12 12:02:47
arhui在上个帖子中说
引用:
问题一:
sqlcmd="insert into product(bookid,name,price,qty)values('"&bookid&"','"&name&"','"&price&"',"&qyt&" )"

bookid是数值的话,在插入的时候不需要用单引号,如果是自动编号的话,你是没有办法改变它的ID的

问题二:
[Microsoft][ODBC 驱动程序管理器] 未发现数据源名称并且未指定默认驱动程序
末发现数据源名称哟!


问题三:
bookid=replace(request("bookid" ),"'","" )


第一和第三都明白了..但是第二就不知道怎么办啦...
这个文件跟数据库文件是放在同一目录的...


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

菜鸟级-----傻瓜
我的小站#-#

achou

职务:普通成员
等级:1
金币:0.0
发贴:36
#82004/7/12 18:56:57
試過用OLE鏈接...出現同樣提示..


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

菜鸟级-----傻瓜
我的小站#-#

achou

职务:普通成员
等级:1
金币:0.0
发贴:36
#92004/7/12 19:01:06

图片如下:

數據表結構....都沒錯啊...


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

菜鸟级-----傻瓜
我的小站#-#

achou

职务:普通成员
等级:1
金币:0.0
发贴:36
#102004/7/14 10:48:54
各位老大..

我的代碼應該沒錯吧...為什麼用不了呢.....


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

菜鸟级-----傻瓜
我的小站#-#

沉默是金

职务:普通成员
等级:6
金币:11.2
发贴:4357
#112004/7/14 11:31:24
数据库连接有误了,问题都这么明显了。此路不通,再想别的办法连接数据库嘛。

Set Conn = Server.CreateObject("ADODB.Connection")
str = "provider=microsoft.jet.oledb.4.0;" & "data source = " & server.mappath("**.mdb")
conn.open str

试试。
另外给个建议:如果是BOOKID、PRICE是数字或货币型的内容的话,最好改一下字段的属性吧, :)


难人一个……

achou

职务:普通成员
等级:1
金币:0.0
发贴:36
#122004/7/15 10:15:39
数据库链接好了...但又有问题了...

源码:
----------------------------------------------------------------
<%
dim str
if request("submit")="&Igrave;í&frac14;&Oacute;" then
bookid = replace(request("bookid"),"'","")
name = replace(request("name"),"'","''")
price = request("price")
qty = request("qty")
Set Conn = Server.CreateObject("ADODB.Connection")
str = "provider=microsoft.jet.oledb.4.0;" & "data source = " & server.mappath("data.mdb")
conn.open str
sqlcmd="insert into product(bookid,name,price,qty)values('"&bookid&"','"&name&"','"&price&"',"&qyt&" )"
conn.execute sqlcmd
conn.close
end if
%>
-------------------------------------------------------------------------------------

将BOOKID,PRICE的单引号去掉也是一样:

HTTP 错误 500.100 - 内部服务器错误 - ASP 错误
Internet 信息服务

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

技术信息(用于支持人员)

错误类型:
Microsoft JET Database Engine (0x80040E14)
INSERT INTO 语句的语法错误。
/hand/asp.asp, 第 12 行


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

菜鸟级-----傻瓜
我的小站#-#

achou

职务:普通成员
等级:1
金币:0.0
发贴:36
#132004/7/15 10:19:21
为什么要用str = "provider=microsoft.jet.oledb.4.0;" & "data source = " & server.mappath("data.mdb")
才能链接到数据库呢...

教材里面全部都是用DBPath=server.mappath("data.mdb")
conn.open "driver={Microsoft Access Driver(*.mdb)};dbq="&DBPath
来链接的啊...


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

菜鸟级-----傻瓜
我的小站#-#

绿茶

职务:普通成员
等级:8
金币:10.0
发贴:19267
#142004/7/15 10:25:14
教程过时了



achou

职务:普通成员
等级:1
金币:0.0
发贴:36
#152004/7/15 11:36:08
嘻嘻...是有点老...但也不是改成怎么样吧..

我查看别人的源代码还有很多是这样子的啊..


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

菜鸟级-----傻瓜
我的小站#-#