ASP连接MS SQL SERVER 问题,请高手赐教(30分)

  • 主题发起人 纯粹新手
  • 开始时间

纯粹新手

Unregistered / Unconfirmed
GUEST, unregistred user!
高手帮忙看看,带颜色部分的,连接数据库怎么修改,原来是连接sql的,我现在需要连接access的,谢谢。

<Script language="VBScript" runat="server">

Class DataBase ' 操作数据库对象
Public DatabaseConnectionString 定义连接字符串
Public Conn 定义连接对象
Public Rs 定义记录集
实例化对象初始化
[red]Private Sub Class_Initialize
On Error Resume Next
DatabaseConnectionString = "Provider=SQLOLEDB;Data Source=(local);Initial Catalog=data;User ID=sa;
Password=123 ;server=10.0.0.6"
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open DatabaseConnectionString
If Err.Number <> 0 then
Response.write "!!!!!!数据库链接出错!!!!!!请联系管理员!"
Response.End()
End If
End Sub [/red]查询记录总数
Public Function RecordCount(Sql)
On Error Resume Next
Dim CountNum,Rs1
Set Rs1 = Server.CreateObject("ADODB.Recordset")
Rs1.Open Sql,Conn,1,1
If Not Rs1.Eof then
CountNum = Rs1.RecordCount
Rs1.close
If CountNum > 0 then
RecordCount = CountNum
else
RecordCount = 0
End If
else

 
这个论坛不能显示颜色?
[red]和[/red]之间的部分。
就是说,这段程序原来是用来连接ms sql server 的,现在把那个数据库转换成access德了,这段程序怎么修改啊??
谢谢。
 
这个问题我也想知道啊??有没有人讲解一下啊
 
DatabaseConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=文件.MDB"
 
这样修改好象不对,还需要修改其他东西啊
 
...
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.CursorLocation = 3
Conn.Open DatabaseConnectionString
...
Set Rs1 = Server.CreateObject("ADODB.Recordset")
set rs1.ActiveConnection = Conn
Rs1.Open Sql,,1,1
...
 
谢谢 东兰梦舞
不过我还是看不太懂,能否把上面那一段修改之后的完整地发出来?
多些!!!
 
在ASP中建立对Access数据库连接的一般格式如下:
<%
DbPath=Server.MapPath(数据库名)
Set Conn=Server.CreatObject(“ADODB.Connection”)
Conn.Open “driver={Microsoft Access Driver (*.mdb)};dbq=”&amp;
DbPath
Set rs=Server.CreatObject(“ADODB.Recordset”)
Rs.Open 数据表名或SQL指令,Connection对象,Recordset类型,锁定类型
… …
%>
它的各步骤及参数意义如下:
第一行程序:利用Server对象的MapPath函数,取得要打开数据库的完整的文件路径,并存储在变量DbPath中。这其中,数据库名是我们需要指定的参数,应该用我们要打开的数据库的实际名称替代。如果数据库名是直接作为常量出现,要用引号将其括起来,并且不能丢掉扩展名。例如数据库是Test.mdb,则该行程序成为:DbPath=Server.MapPath(“Test.mdb”)。
第二行程序:建立一个ADO对象集中的Connection对象,也即连接对象。这是建立数据库连接的初始步骤。执行这行程序后,Conn成为一个连接对象。
第三行程序:利用连接对象Conn的Open方法打开一个指定的数据库。因为我们要打开的是Access数据库,所以要指定ODBC驱动程序参数,表示要透过Access的ODBC驱动程序来访问数据库:driver={Microsoft Access Driver (*.mdb)};。另一个参数dbq= &amp;
DbPath,运算后等效于dbq=Server.MapPath(数据库名) ,是利用了第一行的Server.MapPath(数据库名)函数,用来指定要打开的数据库文件。到这里,就已经打开了数据库名指定的数据库。如果数据库名是“test.mdb”,则打开Access数据库Test.mdb。在这一行里指定的参数,要严格按照格式原样写出,不能省略或改动,也没有可变参数。
第四行程序:建立一个ADO对象集中的Recordset对象,以便利用Recordset对象操作数据库(当然,这只是对数据库操作的多种方式之一)。执行这行后,rs就成为一个Recordset对象。
第五行程序:利用rs对象的Open方法打开数据库中的数据表。这其中有四个参数,其意义如下:
数据表名或SQL指令串:在这个参数里指定要打开的数据库内的数据表名称,或者是用SQL的Select指令串确定的数据表的指定范围数据,例如,数据库Test.mdb中有数据表Number,则该参数成为“Number”,注意引号不能丢;若想打开数据表Number中xh字段值小于90的数据记录,则该参数可能成为如下的形式:
“Select * From Number Where xh < 90”。
 
我查了一下有四种方法
1.
set dbconnection=Server.CREATEOBJECT("ADODB.CONNECTION")
DBPath = Server.MapPath("customer.mdb")
dbconnection.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" &amp;
DBPath
SQL="select * from auth where id='" &amp;
user_id &amp;"'"
SET uplist=dbconnection.EXECUTE(SQL)
2.
set dbconnection=Server.CreateObject("ADODB.Connection")
DBPath = Server.MapPath("customer.mdb")
dbconnection.Open "provider=microsoft.jet.oledb.4.0;data source="&amp;dbpath
SQL="select * from auth where id='" &amp;
user_id &amp;"'"
SET uplist=dbconnection.EXECUTE(SQL)
3.
DBPath = Server.MapPath("customer.mdb")
set session("rs")=Server.CreateObject("ADODB.Recordset")
' rs=Server.CreateObject("ADODB.Recordset")
connstr="provider=microsoft.jet.oledb.4.0;data source="&amp;dbpath
SQL="select * from auth where id='" &amp;
user_id &amp;"'"
session("rs").Open sql,connstr,1,3
4.
建odbc源xxx
set conn=server.createobject("Adodb.connection")
conn.open "DSN=xxx;UID=;PWD=;Database=customer
 
谢谢草原牧歌,
不过这些都知道,问题是怎么把上面的那个改好,运行access数据库,能把上面的代码改了发上来吗,谢谢
 
DatabaseConnectionString = "Provider=SQLOLEDB;Data Source=(local);Initial Catalog=data;User ID=sa;
Password=123 ;server=10.0.0.6"
改为DBPath = Server.MapPath("数据库的虚拟路径")
DatabaseConnectionString = "Provider=microsoft.jet.oledb.4.0;data source="&amp;dbpath
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open DatabaseConnectionString
SQL="select * from auth where id='" &amp;
user_id &amp;"'" "
 
这样不可以的,希望能把上面的代码修改后,发一个完整的
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
825
SUNSTONE的Delphi笔记
S
顶部