如何用ASP在网页中调用数据库(后缀为.dbf)格式的数据库,并进行查询?(97分)

  • 主题发起人 主题发起人 strchi
  • 开始时间 开始时间
S

strchi

Unregistered / Unconfirmed
GUEST, unregistred user!
我知道我的问题问的很大,非常抱歉……
是这样,现在接到一个表,是FOXPRO建立的表,要通过它做一个查询程序,并且到网上发布,
请问数据库这方面如何设置好?然后该做什么?
如果您有例子,请发给我,不胜感激!
我的DELPHI和ASP水平都不高,可能说的不是很清楚,但是我在这很诚恳的向大家请教,希望
大家不吝赐教。
我用的工具及配置:IIS,ASP,DELPHI6
谢谢!哪怕是建议,我也觉得很感激……
 
odbc连dbf阿!
 
您能不能详细的讲一讲,小弟感激不尽
如果您有例子,那是最好,能发给我吗?
mypond@163.net
 
同意楼上

先建odbc,如:mydbf ,然后在 config.asp 中
Dim DBConn
set DBConn = CreateObject("ADODB.Connection")
DBConn.Open "mydbf"
 
谢谢大哥的回答
但是我还不知道怎么写activeX(是用它来写东东之后跟网页通信吗?)我昨天实验了好久
不知道怎么写那些事件,我都要崩溃了……
您能发给我一点资料吗?
 
写 AcrtiveX 做什么?通过上述方法,ASP可直接操作DBF。
 
建odbc,如:mydbf ,然后在 config.asp 中
Dim DBConn
set DBConn = CreateObject("ADODB.Connection")
DBConn.Open "mydbf
 
先给你个函数库,可以连接不少数据库,把它保存为 DB.INC,不要保存"*****"啊
***************************************************从这里开始*********
<%
'---------------------------------------------------
Function GetMdbConnection( FileName )
Dim Provider, DBPath

Provider = "Provider=Microsoft.Jet.OLEDB.4.0;"
DBPath = "Data Source=" &amp
Server.MapPath(FileName)
Set GetMdbConnection = GetConnection( Provider &amp
DBPath )
End Function

'---------------------------------------------------
Function GetSecuredMdbConnection( FileName, Password )
Dim Provider, DBPath

Provider = "Provider=Microsoft.Jet.OLEDB.4.0;"
DBPath = "Data Source=" &amp
Server.MapPath(FileName)
Set GetSecuredMdbConnection = GetConnection( Provider &amp
DBPath &amp
";Jet OLEDB:Database Password=" &amp
Password )
End Function

'---------------------------------------------------
Function GetDbcConnection( FileName )
Dim Driver, SourceType, DBPath

Driver = "Driver={Microsoft Visual FoxPro Driver};"
SourceType = "SourceType=DBC;"
DBPath = "SourceDB=" &amp
Server.MapPath( FileName )
Set GetDbcConnection = GetConnection( Driver &amp
SourceType &amp
DBPath )
End Function

'---------------------------------------------------
Function GetDbfConnection( Directory )
Dim Driver, SourceType, DBPath

Driver = "Driver={Microsoft Visual FoxPro Driver};"
SourceType = "SourceType=DBF;"
DBPath = "SourceDB=" &amp
Server.MapPath( Directory )
Set GetDbfConnection = GetConnection( Driver &amp
SourceType &amp
DBPath )
End Function

'---------------------------------------------------
Function GetExcelConnection( FileName )
Dim Driver, DBPath

Driver = "Driver={Microsoft Excel Driver (*.xls)};"
DBPath = "DBQ=" &amp
Server.MapPath( FileName )
Set GetExcelConnection = GetConnection( Driver &amp
"ReadOnly=0;" &amp
DBPath )
End Function

'---------------------------------------------------
Function GetTextConnection( Directory )
Dim Driver, DBPath

Driver = "Driver={Microsoft Text Driver (*.txt
*.csv)};"
DBPath = "DBQ=" &amp
Server.MapPath( Directory )
Set GetTextConnection = GetConnection( Driver &amp
DBPath )
End Function

'---------------------------------------------------
Function GetSQLServerConnection( Computer, UserID, Password, Db )
Dim Params, conn

Set GetSQLServerConnection = Nothing
Params = "Provider=SQLOLEDB.1"
Params = Params &amp
";Data Source=" &amp
Computer
Params = Params &amp
";User ID=" &amp
UserID
Params = Params &amp
";Password=" &amp
Password
Params = Params &amp
";Initial Catalog=" &amp
Db
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open Params
Set GetSQLServerConnection = conn
End Function

'---------------------------------------------------
Function GetMdbRecordset( FileName, Source )
Set GetMdbRecordset = GetMdbRs( FileName, Source, 2, "" )
End Function

'---------------------------------------------------
Function GetMdbStaticRecordset( FileName, Source )
Set GetMdbStaticRecordset = GetMdbRs( FileName, Source, 3, "" )
End Function

'---------------------------------------------------
Function GetSecuredMdbRecordset( FileName, Source, Password )
Set GetSecuredMdbRecordset = GetMdbRs( FileName, Source, 2, Password )
End Function

'---------------------------------------------------
Function GetSecuredMdbStaticRecordset( FileName, Source, Password )
Set GetSecuredMdbStaticRecordset = GetMdbRs( FileName, Source, 3, Password )
End Function

'---------------------------------------------------
Function GetDbfRecordset( Directory, SQL )
Set GetDbfRecordset = GetOtherRs( "Dbf", Directory, SQL, 2 )
End Function

'---------------------------------------------------
Function GetDbfStaticRecordset( Directory, SQL )
Set GetDbfStaticRecordset = GetOtherRs( "Dbf", Directory, SQL, 3 )
End Function

'---------------------------------------------------
Function GetDbcRecordset( FileName, SQL )
Set GetDbcRecordset = GetOtherRs( "Dbc", FileName, SQL, 2 )
End Function

'---------------------------------------------------
Function GetDbcStaticRecordset( FileName, SQL )
Set GetDbcStaticRecordset = GetOtherRs( "Dbc", FileName, SQL, 3 )
End Function

'---------------------------------------------------
Function GetExcelRecordset( FileName, SQL )
Set GetExcelRecordset = GetOtherRs( "Excel", FileName, SQL, 2 )
End Function

'---------------------------------------------------
Function GetExcelStaticRecordset( FileName, SQL )
Set GetExcelStaticRecordset = GetOtherRs( "Excel", FileName, SQL, 3 )
End Function

'---------------------------------------------------
Function GetTextRecordset( Directory, SQL )
Set GetTextRecordset = GetOtherRs( "Text", Directory, SQL, 2 )
End Function

'---------------------------------------------------
Function GetTextStaticRecordset( Directory, SQL )
Set GetTextStaticRecordset = GetOtherRs( "Text", Directory, SQL, 3 )
End Function

'---------------------------------------------------
Function GetSQLServerRecordset( conn, source )
Dim rs

Set rs = Server.CreateObject("ADODB.Recordset")
rs.Open source, conn, 2, 2
Set GetSQLServerRecordset = rs
End Function

'---------------------------------------------------
Function GetSQLServerStaticRecordset( conn, source )
Dim rs

Set rs = Server.CreateObject("ADODB.Recordset")
rs.Open source, conn, 3, 2
Set GetSQLServerStaticRecordset = rs
End Function

'---------------------------------------------------
Function GetConnection( Param )
Dim conn

On Error Resume Next
Set GetConnection = Nothing
Set conn = Server.CreateObject("ADODB.Connection")
If Err.Number <> 0 Then Exit Function

conn.Open Param
If Err.Number <> 0 Then Exit Function
Set GetConnection = conn
End Function

'---------------------------------------------------
Function GetMdbRs( FileName, Source, Cursor, Password )
Dim conn, rs

On Error Resume Next
Set GetMdbRs = Nothing
If Len(Password) = 0 Then
Set conn = GetMdbConnection( FileName )
Else
Set conn = GetSecuredMdbConnection( FileName, Password )
End If
If conn Is Nothing Then Exit Function

Set rs = Server.CreateObject("ADODB.Recordset")
If Err.Number <> 0 Then Exit Function

rs.Open source, conn, Cursor, 2
If Err.Number <> 0 Then Exit Function
Set GetMdbRs = rs
End Function

'---------------------------------------------------
Function GetOtherRs( DataType, Path, SQL, Cursor )
Dim conn, rs
On Error Resume Next
Set GetOtherRs = Nothing

Select Case DataType
Case "Dbf"
Set conn = GetDbfConnection( Path )
Case "Dbc"
Set conn = GetDbcConnection( Path )
Case "Excel"
Set conn = GetExcelConnection( Path )
Case "Text"
Set conn = GetTextConnection( Path )
End Select
If conn Is Nothing Then Exit Function

Set rs = Server.CreateObject("ADODB.Recordset")
If Err.Number <> 0 Then Exit Function

rs.Open SQL, conn, Cursor, 2
If Err.Number <> 0 Then Exit Function
Set GetOtherRs = rs
End Function

'---------------------------------------------------
Function GetSQLServerRs( Computer, UserID, Password, Db, source, Cursor )
Dim conn, rs

On Error Resume Next
Set GetSQLServerRs = Nothing
Set conn = GetSQLServerConnection( Computer, UserID, Password, Db )
If conn Is Nothing Then Exit Function

Set rs = Server.CreateObject("ADODB.Recordset")
If Err.Number <> 0 Then Exit Function

rs.Open source, conn, Cursor, 2
If Err.Number <> 0 Then Exit Function
Set GetSQLServerRs = rs
End Function
%>

************************************到这里结束***************************

连接DBF,只要调用这两个函数就可以了
Function GetDbfRecordset( Directory, SQL )
Set GetDbfRecordset = GetOtherRs( "Dbf", Directory, SQL, 2 )
End Function

'---------------------------------------------------
Function GetDbfStaticRecordset( Directory, SQL )
Set GetDbfStaticRecordset = GetOtherRs( "Dbf", Directory, SQL, 3 )
End Function

新建一个ASP文件,取名TEST.ASP,把它和DB.INC放到一起
<!--#include file="db.inc" --> '这句很重要
<%
Directory="/dbfdata" '这里是你DBF在网站上存放的位置
Sql="select * from 表"
set rs=GetDbfStaticRecordset( Directory, SQL ) 'rs为数据集
以下为具体数据操作过程了。
%>

 
最简洁的办法是:
1.利用ODBC连接,数据文件.
2.利用Dreamweaver MX的最新的版本,这个版本的最大的好处是:
可以直接的连接ODBC,可以直接的生成asp的语句,以及oDBC的配置文件.
而且Dreamweaver MX在写html代码的时候,就可以查看本地的odbc数据源返回的结果.
 
有没有高手, 能告诉我连接FOXPRO表的配置?
我真的不知道真麽搞了
 
后退
顶部