ASP如何编写连接SQL数据库

yjrryyx 2011-12-31 01:55:59
ASP如何编写连接SQL数据库,数据库名:jggl;表名:jgbbzz
请高手帮忙,谢谢!
下面是asp连接access数据库的代码,可以显示记录,如何用SQL数据库表,试了半日都没结果:
<%
set conn=server.createobject("adodb.connection")
conn.open "driver={microsoft access driver (*.mdb)};dbq="&server.mappath("gustbook.mdb")
%>
<%
exec="select * from guestbook"
set rs=server.createobject("adodb.recordset")
rs.open exec,conn,1,1
%>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<%do while not rs.eof%><tr>
<td><%=rs("name")%></td>
<td><%=rs("tel")%></td>
<td><%=rs("message")%></td>
<td><%=rs("time")%></td>
</tr><%

rs.movenext
loop
%>
</table>
...全文
1370 15 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
yjrryyx 2012-01-01
  • 打赏
  • 举报
回复
呵呵,3楼的代码是从网上拷贝过来的,我只是换了一下数据库名、表名,其实有二处错误:第一处是5楼说的符号变位;没想到第二处错误更隐蔽,仔细对了每个字符这才发现是:“ADOBD.recordset”的第四个字符B和D位置次序反了,应该是:“ADODB.recordset”,经掉换字符后一切运行正常。
按道理,在相应的调试工具中,如命令或函数写错是应该显示颜色不对的,马上可以知道错误所在,难道ASP没有专用调试工具吗,如果用记事本是不可能知道写法上的错误的,刚学,还请各位高手指点下有什么专用书写ASP的工具,谢谢!
rings2000 2012-01-01
  • 打赏
  • 举报
回复
dim conn,mdbfile
mdbfile=server.mappath("数据库名称.mdb")
set conn=server.createobject("adodb.connection")
conn.open "driver={microsoft access driver (*.mdb)};uid=admin;pwd=数据库密码;dbq="&mdbfile
zhouxingyu896 2011-12-31
  • 打赏
  • 举报
回复
连接数据库的例子很多呢
楼主搜搜应该挺多
hookee 2011-12-31
  • 打赏
  • 举报
回复
404是文件不存在,查一下web目录下有ww.asp这个文件吗
yjrryyx 2011-12-31
  • 打赏
  • 举报
回复

显示错误,还找不出原因。
yjrryyx 2011-12-31
  • 打赏
  • 举报
回复
下面是我用VFP编写的原程序,一直在用,好好的,想改为ASP连接,
set talk off
set safe off
set cent on
set ansi on
SET EXCLUSIVE on
SET TABLEVALIDATE TO 0
*SET NULLDISPLAY TO [] &&去除NILL显示
SET DATE ANSI
CD (JUSTPATH(SYS(16,1))) &&取得目录
SET PATH TO bsdbf,bsrepo,bsform,bsgif &&寻找路径
IF FCREATE("rundj.txt") <= 0
MESSAGEBOX("程序已运行!")
QUIT
ENDIF
ERASE *.cdx
CURSORSETPROP("MapBinary",.T.,0) &&blob字段转换sql image字段设置
SQLSETPROP(0,"DispLogin" ,3)
public nhandle,jgbbzz,tree,yxjgtmp
nhandle=sqlstringconnect("driver=sql server;server=192.168.0.59;uid=sa;pwd=182304;database=jggl")
SQLSETPROP(0,"ConnectTimeOut",1) &&连接超时等待秒数设置,可取值0至600
if nhandle>0
SQLEXEC(nhandle,"select * from jgbbzzhz","jgbbzz")
SELECT jgbbzz
cursorsetprop("tables","jgbbzzhz","jgbbzz")
cursorsetprop("keyfieldlist","id","jgbbzz")
cursorsetprop("updatablefieldlist","报表日期,序号,加工单位,订单号,款号,工序,数量,含税单价,税率,开票税率,开票单价,含税金额,联系人,质次扣款,不含税单价,不含税金额,结算时间,税票时间,税票号码,账号,id","jgbbzz")
cursorsetprop("updatenamelist","报表日期 jgbbzzhz.报表日期,序号 jgbbzzhz.序号,加工单位 jgbbzzhz.加工单位,订单号 jgbbzzhz.订单号,款号 jgbbzzhz.款号,工序 jgbbzzhz.工序,数量 jgbbzzhz.数量,含税单价 jgbbzzhz.含税单价,税率 jgbbzzhz.税率,开票税率 jgbbzzhz.开票税率,开票单价 jgbbzzhz.开票单价,"+;
"含税金额 jgbbzzhz.含税金额,联系人 jgbbzzhz.联系人,质次扣款 jgbbzzhz.质次扣款,不含税单价 jgbbzzhz.不含税单价,不含税金额 jgbbzzhz.不含税金额,结算时间 jgbbzzhz.结算时间,税票时间 jgbbzzhz.税票时间,税票号码 jgbbzzhz.税票号码,账号 jgbbzzhz.账号,id jgbbzzhz.id","jgbbzz")
cursorsetprop("sendupdates",.T.,"jgbbzz")
cursorsetprop("wheretype",2)
cursorsetprop("buffering",5)
copy to bsdbf\jgbbzzbf &&拷贝一份备份
USE tree IN 0
USE yxjgtmp IN 0
ELSE
MESSAGEBOX("远程数据库连接失败,将调用本地数据库,只能查看,不能修改!")
SELECT * FROM jgbbzzbf INTO TABLE bsdbf\jgbbzz
USE IN jgbbzzbf
USE tree IN 0
USE yxjgtmp IN 0
ENDIF
On Shutdown Quit
with _screen
.visible=.t.
.closable=.F.
.controlbox=.t.
.maxbutton=.F.
.minbutton=.t.
.movable=.t.
.top=0
.left=0
.windowstate=2
.caption='加工结算管理系统'
.icon='zhj40.ico'
ENDWITH

On Shutdown Quit
DO FORM zbd
DO tree
do form start NAME start
read events
p2227 2011-12-31
  • 打赏
  • 举报
回复
你用SSMS能连接到那个机器上的MSSQL吗?
yjrryyx 2011-12-31
  • 打赏
  • 举报
回复
谢谢各位提醒,原来一直用CS编写系统的,现在想用BS,故匆忙学ASP,还请各位帮忙,符号已改,但问题还是没有解决,代码如下:
<%
MM_conn_STRING = "driver={sql server};database=jggl;server=192.168.0.59;uid=sa;pwd=182304"
Set conn = Server.Createobject("ADODB.Connection")
conn.open MM_conn_STRING
SET RS=SERVER.CreateObject("ADOBD.recordset")
SQL="SELECT * FROM jgbbzz"
RS.open SQL,CONN,1,1
%>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<%do while not rs.eof%><tr>
<td><%=rs("报表日期")%></td>
<td><%=rs("订单号")%></td>
<td><%=rs("款号")%></td>
<td><%=rs("数量")%></td>
</tr><%
rs.movenext
loop
%>
</table>
”无法显示该页面“,代码还有错误吗,请帮看一下,谢谢!
zugoucom 2011-12-31
  • 打赏
  • 举报
回复
写成函数:

'返回:链接对象
Public Function OpenGongZuo365()
Dim ConnStr
Set Conn = Server.CreateObject("ADODB.CONNECTION")
ConnStr = "PROVIDER=SQLNCLI.1;Data Source=localhost;Initial Catalog=数据库;Persist Security Info=True;User ID=用户名;Password=密码;STMT=Set Names 'utf-8';Connect Timeout=30"
Conn.Open ConnStr
End Function
'函数:创建数据库RecordSet对象
'参数:链接串
'返回:链接对象
Public Function CreateRs()
Set CreateRs = Server.CreateObject("ADODB.RecordSet")
End Function

'函数:创建数据库链接
'参数:链接串
'返回:链接对象
Public Function Close()
Conn.Close
Set Conn = Nothing
End Function

调用的时候直接Open,Close即可,方便。
  • 打赏
  • 举报
回复
呵呵,楼主学习的时候,先注意一下,要细心啊。作程序员,这是必须的。要想成为一个合格的程序员,其实是有要求的,不是随便想学就行的,要看你的性格习惯合不合适。如果你是个细心而且努力的人,那就水到渠成了。如果不是,应该先培养好这样的习惯和能力,然后才能开始学习。
p2227 2011-12-31
  • 打赏
  • 举报
回复
弱弱地说句,你的第一个%>不是应该要写成<%吗??

<%' your asp code %>
yjrryyx 2011-12-31
  • 打赏
  • 举报
回复
%> rs MM_conn_STRING = "driver={sql server};database=jggl;server=192.168.0.59;uid=sa;pwd=182304" Set conn = Server.Createobject("ADODB.Connection") conn.open MM_conn_STRING SET RS=SERVER.CreateObject("ADOBD.recordset") SQL="SELECT * FROM jgbbzz" RS.open SQL,CONN,1,1 %> An error occurred on the server when processing the URL. Please contact the system administrator.
If you are the system administrator please click here to find out more about this error.
显示的是源码,而不是记录,百思不得其解,入门有点难,请高手看一下,谢谢!
yjrryyx 2011-12-31
  • 打赏
  • 举报
回复
试了这个代码,还是不行
%>
MM_conn_STRING = "Driver={SQL Server};server=192.168.0.59;uid=sa;pwd=182304;database=jggl;"
Set conn = Server.Createobject("ADODB.Connection")
conn.open MM_conn_STRING
SET RS=SERVER.CreateObject("ADOBD.recordset")
SQL="SELECT * FROM jgbbzz"
RS.open SQL,CONN,1,1
%>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<%do while not rs.eof%><tr>
<td><%=rs("报表日期")%></td>
<td><%=rs("订单号")%></td>
<td><%=rs("款号")%></td>
<td><%=rs("数量")%></td>
</tr><%
rs.movenext
loop
%>
</table>
csdn_aspnet 2011-12-31
  • 打赏
  • 举报
回复
ConnStr="driver={SQL Server};server="&SqlLocalName&";uid="&SqlUsername&";pwd="&SqlPassword&";database="&SqlDatabaseName&";"
on error resume next
Set conn = Server.CreateObject("ADODB.Connection")
conn.commandtimeout=20
conn.open ConnStr

If Err.number>0 Then
err.Clear
Set Conn = Nothing
Response.Write "<br><br><br><br><br><br><br><div align='center'>数据库连接出错!请检查连接数据库的参数及字符串设置是否正确!</div>"
Response.End
End If
p2227 2011-12-31
  • 打赏
  • 举报
回复
http://down.chinaz.com/class/3_1.htm
去找一份完整的源码研究吧

28,409

社区成员

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

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