本文目录
- asp连接access数据库代码
- 求VB编程连接access数据库的源代码
- access数据库的常用语句有哪些
- 求VB.NET2010操作ACCESS数据库的完整代码
- VB实现ACCESS数据库记录的查询,新增,删除,修改的代码是什么
- 求一份比较基础的Access的SQL命令大全
- VB连接Access数据库有哪些方式,代码形式是什么
- asp连接access数据库并且带分页的代码
asp连接access数据库代码
1.Access数据库的DSN-less连接方法: 以下为引用的内容: set adocon=Server.Createobject("adodb.connection") adoconn.Open"Driver={Microsoft Access Driver(*.mdb)};DBQ="& _ Server.MapPath("数据库所在路径") 2.Access OLE DB连接方法: 以下为引用的内容: set adocon=Server.Createobject("adodb.connection") adocon.open"Provider=Microsoft.Jet.OLEDB.4.0;"& _ "Data Source=" & Server.MapPath("数据库所在路径")第二种方法用的比较多。
求VB编程连接access数据库的源代码
要使程序能够访问数据库必须通过ADO技术实现,下面就LZ所提供的例子作详细讲解:(调用入口,如单击按钮事件发生时。注:vb中变量不区分大小写)Dim conn as new adodb.connection ’定义conn为新的数据库连接对象并分配内存Connstr="Provider=microsoft.jet.oledb.4.0;data source=" & app.path & "\lib.mdb" ’在这里编写一个用于与告知计算机连接的数据库的连接串,其中app.path指该应用程序/工程所在路径,所以必须将Access的数据库文件放在应用程序/工程所在路径的同一个目录下Conn.open Connstr,"admin","",-1 ’启动conn的连接,其中参数如下:连接串,连接用户名,连接密码,连接方式(这里的-1是指默认方式)Dim rs as new adodb.recordset ’定义rs为新的数据库记录集对象并分配内存Sqlstr="select ab from results" ’这里是放入sql语句的地方,将LZ的实际sql语句替换到我填入的sql语句中Rs.open Sqlstr,Conn,3,2,-1 ’打开rs记录集查询结果,其中参数如下:sql语句,活动的连接串(即现在打开中的连接串),静态集(3表示静态集),悲观锁(2表示悲观锁),打开方式(-1表示默认方式)这样就完成了查询的工作,接下来是提取从查询中值的操作,由于我对LZ想要得到的信息不是很清晰,所以在这里就停下问一下您到底是要达到什么样的查询效果,需要的是一个什么样的值,再采取合适的方法将其提取出来是比较合适的
access数据库的常用语句有哪些
新建表:create table ( int IDENTITY (1,1) PRIMARY KEY , nVarChar(50) default ’默认值’ null , ntext null , datetime, money null , int default 0, Decimal (12,4) default 0, image null ,)删除表:Drop table 插入数据:INSERT INTO (字段1,字段2) VALUES (100,’51WINDOWS.NET’)删除数据:DELETE FROM 》100更新数据:UPDATE = ’HAIWA’新增字段:ALTER TABLE NVARCHAR (50) NULL删除字段:ALTER TABLE 修改字段:ALTER TABLE NVARCHAR (50) NULL
求VB.NET2010操作ACCESS数据库的完整代码
Imports System.Data.OleDbPublic Class Parking Private Sub Parking_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Now_Timer.Enabled = True End Sub Private Sub Now_Timer_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Now_Timer.Tick Now_Time_Label.Text = "当前时间:" & Date.Now End Sub Private Sub Enter_Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Enter_Button.Click ’定义一个OLEDB连接字符串 Dim conStr As String = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=F:\test\test.mdb" ’实例化OLEDB连接 Dim con As OleDbConnection = New OleDbConnection(conStr) Dim sql As New System.Text.StringBuilder ’定义数据库插入语句 sql.Append("insert into Time_billing()") sql.Append("values(’" & Trim(Car_Num_Text.Text) & "’,’" & Date.Now & "’)") ’打开数据库链接 con.Open() ’定义执行命令 Dim cmd As New System.Data.OleDb.OleDbCommand(sql.ToString, con) ’执行命令 cmd.ExecuteNonQuery() ’关闭数据库链接 con.Close() MsgBox("提交成功!") End SubPrivate Sub Leave_Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Leave_Button.Click Dim Time_Length As Double Dim Pack_Fee As Double Dim Enter_time As Date Dim Leave_time As Date Dim conStr As String = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=F:\test\test.mdb" Dim con As OleDbConnection = New OleDbConnection(conStr) Dim selSql As New System.Text.StringBuilder Dim inSql As New System.Text.StringBuilder Dim upSql As New System.Text.StringBuilder Dim delSql As New System.Text.StringBuilder Dim dr As OleDbDataReader con.Open()’SQL拼接过程中最后不需要有分号’在赋值时,读取字段值时必须使用在数据库客户端查询时显示的字段名 selSql.Append("select") selSql.Append(" Enter_Time") selSql.Append(" from ") selSql.Append("where Car_Num = ’").Append(Trim(Car_Num_Text.Text)).Append("’") Dim selcmd As New OleDb.OleDbCommand(selSql.ToString, con) dr = selcmd.ExecuteReader() If dr.Read() Then Enter_time = dr("Enter_Time") Leave_time = Date.Now Else MsgBox("木有数据!") End IfEnter_Time_Text.Text = Enter_time Leave_Time_Text.Text = Leave_time ’求时间差 Time_Length = Math.Round(DateDiff(DateInterval.Minute, Enter_time, Leave_time) / 60, 2) Pack_Fee = Time_Length * 5 Pack_Fee_Text.Text = Pack_FeeinSql.Append("update ") inSql.Append(" set = ’").Append(Trim(Leave_Time_Text.Text)).Append("’") inSql.Append(" , = ’").Append(Pack_Fee).Append("’") inSql.Append("where Car_Num = ’").Append(Trim(Car_Num_Text.Text)).Append("’") Dim incom As New OleDb.OleDbCommand(inSql.ToString, con) incom.ExecuteNonQuery() ’con.Close() MsgBox("结算完成!") ’con.Open() upSql.Append("insert into Time_billing_History()") upSql.Append(" select") upSql.Append(" ") upSql.Append(",") upSql.Append(",") upSql.Append(",") upSql.Append(" from ") upSql.Append("where = ’").Append(Trim(Car_Num_Text.Text)).Append("’") Dim upcom As New OleDb.OleDbCommand(upSql.ToString, con) upcom.ExecuteNonQuery() delSql.Append("delete") delSql.Append(" from") delSql.Append(" ") delSql.Append(" where = ’").Append(Trim(Car_Num_Text.Text)).Append("’") Dim delcom As New OleDb.OleDbCommand(delSql.ToString, con) delcom.ExecuteNonQuery() con.Close() End Sub Private Sub Clear_Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Clear_Button.Click Car_Num_Text.Clear() Enter_Time_Text.Clear() Leave_Time_Text.Clear() Pack_Fee_Text.Clear() End SubEnd Class
VB实现ACCESS数据库记录的查询,新增,删除,修改的代码是什么
“修改”按钮的程序 Private Sub cmdEdit_Click() sql = "select * from 停时统计 where date = cdate(’" & Text8.Text & "’) and ycqk = ’" & Combo1.Text & "’and id = ’" & DataGrid1.Columns(2).CellText(DataGrid1.Bookmark) & "’" rs.Open sql, dm, adOpenDynamic, adLockOptimistic rs.Fields("id") = Text7.Text rs.Fields("ycqk") = Combo1.Text rs.Fields("date1") = Text1.Text rs.Fields("time1") = Text2.Text rs.Fields("date2") = Text3.Text rs.Fields("time2") = Text4.Text rs.Update rs.Close End Sub ’“删除”按钮的程序 Private Sub cmdDelete_Click() strFCode = DataGrid1.Columns(0).CellText(DataGrid1.Bookmark) strSCode = DataGrid1.Columns(2).CellText(DataGrid1.Bookmark) strCCode = DataGrid1.Columns(1).CellText(DataGrid1.Bookmark) sql = "select * from 停时统计 where date=’" & strFCode & "’ and id=’" & strSCode & "’ and ycqk=’" & strCCode & "’" rs.Open sql, dm, adOpenDynamic, adLockOptimistic rs.Delete rs.Update rs.Close End Sub ’“增加”按钮的程序 Private Sub Command1_Click() sql = "select * from 停时统计 order by id" rs.Open sql, dm, adOpenDynamic, adLockOptimistic rs.AddNew rs.Fields("date") = Date rs.Fields("id") = Text7.Text - 1 rs.Fields("ycqk") = Combo1.Text rs.Fields("date1") = Text1.Text rs.Fields("time1") = Text2.Text rs.Fields("date2") = Text3.Text rs.Fields("time2") = Text4.Text rs.Update rs.Close With Adodc1 Adodc1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\db1.mdb;Persist Security Info=False" Adodc1.RecordSource = "select * from 停时统计 where date = cdate(’" & Text8.Text & "’) and ycqk = ’" & Combo1.Text & "’ order by id" Adodc1.Refresh DataGrid1.Refresh End With End Sub
求一份比较基础的Access的SQL命令大全
SQL语句大全 一、基础 1、说明:创建数据库 Create DATABASE database-name 2、说明:删除数据库 drop database dbname 3、说明:备份sql server --- 创建 备份数据的 device USE master EXEC sp_addumpdevice ’disk’, ’testBack’, ’c:\mssql7backup\MyNwind_1.dat’ --- 开始 备份 BACKUP DATABASE pubs TO testBack 4、说明:创建新表 create table tabname(col1 type1 ,..) 根据已有的表创建新表: A:create table tab_new like tab_old (使用旧表创建新表) B:create table tab_new as select col1,col2… from tab_old definition only 5、说明:删除新表 drop table tabname 6、说明:增加一个列 Alter table tabname add column col type 注:列增加后将不能删除。DB2中列加上后数据类型也不能改变,唯一能改变的是增加varchar类型的长度。 7、说明:添加主键: Alter table tabname add primary key(col) 说明:删除主键: Alter table tabname drop primary key(col) 8、说明:创建索引:create index idxname on tabname(col….) 删除索引:drop index idxname on tabname 注:索引是不可更改的,想更改必须删除重新建。 9、说明:创建视图:create view viewname as select statement 删除视图:drop view viewname 10、说明:几个简单的基本的sql语句 选择:select * from table1 where 范围 插入:insert into table1(field1,field2) values(value1,value2) 删除:delete from table1 where 范围 更新:update table1 set field1=value1 where 范围 查找:select * from table1 where field1 like ’%value1%’ (所有包含‘value1’这个模式的字符串)---like的语法很精妙,查资料! 排序:select * from table1 order by field1,field2 总数:select count as totalcount from table1 求和:select sum(field1) as sumvalue from table1 平均:select avg(field1) as avgvalue from table1 最大:select max(field1) as maxvalue from table1 最小:select min(field1) as minvalue from table1 11、说明:几个高级查询运算词 A: UNION 运算符 UNION 运算符通过组合其他两个结果表(例如 TABLE1 和 TABLE2)并消去表中任何重复行而派生出一个结果表。当 ALL 随 UNION 一起使用时(即 UNION ALL),不消除重复行。两种情况下,派生表的每一行不是来自 TABLE1 就是来自 TABLE2。 B: EXCEPT 运算符 EXCEPT 运算符通过包括所有在 TABLE1 中但不在 TABLE2 中的行并消除所有重复行而派生出一个结果表。当 ALL 随 EXCEPT 一起使用时 (EXCEPT ALL),不消除重复行。 C: INTERSECT 运算符 INTERSECT 运算符通过只包括 TABLE1 和 TABLE2 中都有的行并消除所有重复行而派生出一个结果表。当 ALL 随 INTERSECT 一起使用时 (INTERSECT ALL),不消除重复行。 注:使用运算词的几个查询结果行必须是一致的。 12、说明:使用外连接 A、left outer join: 左外连接(左连接):结果集既包括连接表的匹配行,也包括左连接表的所有行。 SQL: select a.a, a.b, a.c, b.c, b.d, b.f from a LEFT OUT JOIN b ON a.a = b.c B:right outer join: 右外连接(右连接):结果集既包括连接表的匹配连接行,也包括右连接表的所有行。 C:full outer join: 全外连接:不仅包括符号连接表的匹配行,还包括两个连接表中的所有记录。二、提升 1、说明:复制表(只复制结构,源表名:a 新表名:b) (Access可用) 法一:select * into b from a where 1《》1 法二:select top 0 * into b from a 2、说明:拷贝表(拷贝数据,源表名:a 目标表名:b) (Access可用) insert into b(a, b, c) select d,e,f from b; 3、说明:跨数据库之间表的拷贝(具体数据使用绝对路径) (Access可用) insert into b(a, b, c) select d,e,f from b in ‘具体数据库’ where 条件 例子:..from b in ’"&Server.MapPath("."&"\data.mdb" &"’ where.. 4、说明:子查询(表名1:a 表名2:b) select a,b,c from a where a IN (select d from b 或者: select a,b,c from a where a IN (1,2,3) 5、说明:显示文章、提交人和最后回复时间 select a.title,a.username,b.adddate from table a,(select max(adddate) adddate from table where table.title=a.title) b 6、说明:外连接查询(表名1:a 表名2:b) select a.a, a.b, a.c, b.c, b.d, b.f from a LEFT OUT JOIN b ON a.a = b.c 7、说明:在线视图查询(表名1:a select * from (Select a,b,c FROM a) T where t.a 》 1; 8、说明:between的用法,between限制查询数据范围时包括了边界值,not between不包括 select * from table1 where time between time1 and time2 select a,b,c, from table1 where a not between 数值1 and 数值2 9、说明:in 的使用方法 select * from table1 where a in (‘值1’,’值2’,’值4’,’值6’) 10、说明:两张关联表,删除主表中已经在副表中没有的信息 delete from table1 where not exists ( select * from table2 where table1.field1=table2.field1 11、说明:四表联查问题: select * from a left inner join b on a.a=b.b right inner join c on a.a=c.c inner join d on a.a=d.d where ..... 12、说明:日程安排提前五分钟提醒 SQL: select * from 日程安排 where datediff(’minute’,f开始时间,getdate())》5 13、说明:一条sql 语句搞定数据库分页 select top 10 b.* from (select top 20 主键字段,排序字段 from 表名 order by 排序字段 desc) a,表名 b where b.主键字段 = a.主键字段 order by a.排序字段 14、说明:前10条记录 select top 10 * form table1 where 范围 15、说明:选择在每一组b值相同的数据中对应的a最大的记录的所有信息(类似这样的用法可以用于论坛每月排行榜,每月热销产品分析,按科目成绩排名,等等.) select a,b,c from tablename ta where a=(select max(a) from tablename tb where tb.b=ta.b) 16、说明:包括所有在 TableA 中但不在 TableB和TableC 中的行并消除所有重复行而派生出一个结果表 (select a from tableA except (select a from tableB) except (select a from tableC) 17、说明:随机取出10条数据 select top 10 * from tablename order by newid() 18、说明:随机选择记录 select newid() 19、说明:删除重复记录 Delete from tablename where id not in (select max(id) from tablename group by col1,col2,...) 20、说明:列出数据库里所有的表名 select name from sysobjects where type=’U’ 21、说明:列出表里的所有的 select name from syscolumns where id=object_id(’TableName’) 22、说明:列示type、vender、pcs字段,以type字段排列,case可以方便地实现多重选择,类似select 中的case。 select type,sum(case vender when ’A’ then pcs else 0 end),sum(case vender when ’C’ then pcs else 0 end),sum(case vender when ’B’ then pcs else 0 end) FROM tablename group by type 显示结果: type vender pcs 电脑 A 1 电脑 A 1 光盘 B 2 光盘 A 2 手机 B 3 手机 C 3 23、说明:初始化表table1 TRUNCATE TABLE table1 24、说明:选择从10到15的记录 select top 5 * from (select top 15 * from table order by id asc) table_别名 order by id desc三、技巧 1、1=1,1=2的使用,在SQL语句组合时用的较多 “where 1=1” 是表示选择全部 “where 1=2”全部不选, 如: if @strWhere !=’ begin set @strSQL = ’select count(*) as Total from where ’ + @strWhere end else begin set @strSQL = ’select count(*) as Total from ’ end 我们可以直接写成 set @strSQL = ’select count(*) as Total from where 1=1 安定 ’+ @strWhere 2、收缩数据库 --重建索引 DBCC REINDEX DBCC INDEXDEFRAG --收缩数据和日志 DBCC SHRINKDB DBCC SHRINKFILE 3、压缩数据库 dbcc shrinkdatabase(dbname) 4、转移数据库给新用户以已存在用户权限 exec sp_change_users_login ’update_one’,’newname’,’oldname’ go 5、检查备份集 RESTORE VERIFYONLY from disk=’E:\dvbbs.bak’ 6、修复数据库 Alter DATABASE SET SINGLE_USER GO DBCC CHECKDB(’dvbbs’,repair_allow_data_loss) WITH TABLOCK GO Alter DATABASE SET MULTI_USER GO 7、日志清除 SET NOCOUNT ON DECLARE @LogicalFileName sysname, @MaxMinutes INT, @NewSize INT USE tablename -- 要操作的数据库名 Select @LogicalFileName = ’tablename_log’, -- 日志文件名 @MaxMinutes = 10, -- Limit on time allowed to wrap log. @NewSize = 1 -- 你想设定的日志文件的大小(M) -- Setup / initialize DECLARE @OriginalSize int Select @OriginalSize = size FROM sysfiles Where name = @LogicalFileName Select ’Original Size of ’ + db_name() + ’ LOG is ’ + CONVERT(VARCHAR(30),@OriginalSize) + ’ 8K pages or ’ + CONVERT(VARCHAR(30),(@OriginalSize*8/1024)) + ’MB’ FROM sysfiles Where name = @LogicalFileName Create TABLE DummyTrans (DummyColumn char (8000) not null) DECLARE @Counter INT, @StartTime DATETIME, @TruncLog VARCHAR(255) Select @StartTime = GETDATE(), @TruncLog = ’BACKUP LOG ’ + db_name() + ’ WITH TRUNCATE_ONLY’ DBCC SHRINKFILE (@LogicalFileName, @NewSize) EXEC (@TruncLog) -- Wrap the log if necessary. WHILE @MaxMinutes 》 DATEDIFF (mi, @StartTime, GETDATE()) -- time has not expired AND @OriginalSize = (Select size FROM sysfiles Where name = @LogicalFileName) AND (@OriginalSize * 8 /1024) 》 @NewSize BEGIN -- Outer loop. Select @Counter = 0 WHILE ((@Counter 《 @OriginalSize / 16) AND (@Counter 《 50000)) BEGIN -- update Insert DummyTrans VALUES (’Fill Log’) Delete DummyTrans Select @Counter = @Counter + 1 END EXEC (@TruncLog) END Select ’Final Size of ’ + db_name() + ’ LOG is ’ + CONVERT(VARCHAR(30),size) + ’ 8K pages or ’ + CONVERT(VARCHAR(30),(size*8/1024)) + ’MB’ FROM sysfiles Where name = @LogicalFileName Drop TABLE DummyTrans SET NOCOUNT OFF 8、说明:更改某个表 exec sp_changeobjectowner ’tablename’,’dbo’ 9、存储更改全部表 Create PROCEDURE dbo.User_ChangeObjectOwnerBatch @OldOwner as NVARCHAR(128), @NewOwner as NVARCHAR(128) AS DECLARE @Name as NVARCHAR(128) DECLARE @Owner as NVARCHAR(128) DECLARE @OwnerName as NVARCHAR(128) DECLARE curObject CURSOR FOR select ’Name’ = name, ’Owner’ = user_name(uid) from sysobjects where user_name(uid)=@OldOwner order by name OPEN curObject FETCH NEXT FROM curObject INTO @Name, @Owner WHILE(@@FETCH_STATUS=0) BEGIN if @Owner=@OldOwner begin set @OwnerName = @OldOwner + ’.’ + rtrim(@Name) exec sp_changeobjectowner @OwnerName, @NewOwner end -- select @name,@NewOwner,@OldOwner FETCH NEXT FROM curObject INTO @Name, @Owner END close curObject deallocate curObject GO 10、SQL SERVER中直接循环写入数据 declare @i int set @i=1 while @i《30 begin insert into test (userid) values(@i) set @i=@i+1 end 可能有点长,应该对你有帮助
VB连接Access数据库有哪些方式,代码形式是什么
若是vb6.0最简单的方法:1:用vb自带的DATA控件,不用设置代码就能连接MDB文件。2:用代码 (DAO) : dim db as database ’定义一个数据库连接 dim rs as recordset ’定义一个记录集 set db = opendatabase(app.path & "\me.mdb") ’连接MDB文件 set rs = db.OpenRecordset("select * from nameOFtable") ’连接MDB库里的一个表.此处的SELECT语句可以和WHERE\ORDER BY 等关键字合用.
asp连接access数据库并且带分页的代码
数据库分页代码 《!--#include file="../conn.asp"--》 数据库代码: 《%@ LANGUAGE = VBScript CodePage = 936%》 《% Option Explicit Dim startime,Conn,db,Connstr,Ask_db,Ask_Conn Response.Buffer = True Response.charset="gb2312" startime = Timer() ’--定义数据库类别,1为SQL数据库,0为Access数据库 Const isSqlDataBase = 0 Dim NowString,NewAsp,MyAppPath,AdminPath MyAppPath = "":AdminPath = "" ’-- 是否开启伪静态功能(False=否,True=是) Const IsURLRewrite = False ’--系统XML版本设置,最低版本 Const MsxmlVersion="" Const MsxmlVersion = ".3.0" ’--模板缓存模式,0=不缓存 Const TPLCacheMode = 0 ’--验证码文件路径 Const CodeFilePath = "common/getcode.asp" If IsSqlDataBase = 1 Then ’-----------------------SQL数据库连接参数--------------------------------------- NowString = "GetDate()" ’--SQL数据库连接参数:数据库名(SqlDatabaseName)、用户名(SqlUsername)、用户密码(SqlPassword) ’--连接名(SqlLocalName)(本地用(local),外地用IP) Const SqlDatabaseName = "newasp" Const SqlUsername = "sa" Const SqlPassword = "newasp" Const SqlLocalName = "(local)" ’------------------------------------------------------------------------------- Else ’-----------------------ACCESS数据库连接---------------------------------------- NowString = "Now()" ’--ACCESS数据库连接路径;数据库默认在database目录,第一次使用请修改默认数据库名或路径 ’--数据库路径可以使用绝对路径 db = "sjk/xiaobi/daonima/dedanmao/a/xingfu131.resx" ’------------------------------------------------------------------------------- End If Dim CJ_DBPath ’-- 采集数据库连接路径 CJ_DBPath = "database/#Collection.resx" Sub ConnectionDatabase() On Error Resume Next Set Conn = NewAsp.CreateAXObject("ADODB.Connection") If IsSqlDataBase = 1 Then Connstr = "Provider = Sqloledb; User ID = " & SqlUsername & "; Password = " & SqlPassword & "; Initial Catalog = " & SqlDatabaseName & "; Data Source = " & SqlLocalName & ";" Else Connstr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & ChkMapPath(MyAppPath & db) End If Conn.Open Connstr If Err Then Err.Clear Set Conn = Nothing Response.Write "数据库连接出错,请打开conn.asp文件检查连接字串。" Response.End End If End Sub ’--定义问吧数据库类别,1为SQL数据库,0为Access数据库 Const AskIsSqlDataBase = 0 Dim Ask_SqlDatabaseName,Ask_SqlPassword,Ask_SqlUsername,Ask_SqlLocalName Sub Ask_ConnectionDatabase() Dim Ask_Connstr If AskIsSqlDataBase = 1 Then ’问吧SQL数据库连接参数:数据库名、用户名、用户密码、连接名(本地用local,外地用IP) Ask_SqlDatabaseName = "newasp" Ask_SqlUsername = "sa" Ask_SqlPassword = "newasp" Ask_SqlLocalName = "(local)" Ask_Connstr = "Provider = Sqloledb; User ID = " & Ask_SqlUsername & "; Password = " & Ask_SqlPassword & "; Initial Catalog = " & Ask_SqlDatabaseName & "; Data Source = " & Ask_SqlLocalName & ";" Else ’ACCESS数据库连接字符串 Ask_db = "ask/data/ask_newasp.resx" Ask_Connstr = "Provider = Microsoft.Jet.OLEDB.4.0;Data Source = " & ChkMapPath(MyAppPath & Ask_db) End If On Error Resume Next Set Ask_Conn = NewAsp.CreateAXObject("ADODB.Connection") Ask_Conn.Open Ask_Connstr If Err Then err.Clear Set Ask_Conn = Nothing Response.Write "问吧数据库连接出错,请检查连接字串。" Response.End End If End Sub ’================================================ ’ 函数名:ChkMapPath ’作 用:相对路径转换为绝对路径 ’参 数:strPath ----原路径 ’ 返回值:绝对路径 ’================================================ Function ChkMapPath(ByVal strPath) Dim fullPath strPath = Replace(Replace(Trim(strPath), "/", "\"), "\\", "\") If strPath = "" Then strPath = "." If InStr(strPath,":\") = 0 Then fullPath = Server.MapPath(strPath) Else strPath = Replace(strPath,"..\","") fullPath = Trim(strPath) If Right(fullPath, 1) = "\" Then fullPath = Left(fullPath, Len(fullPath) - 1) End If End If ChkMapPath = fullPath End Function %》 《script Language="JScript" runat="server"》 function CloseConn(){ try{ Conn.close(); Conn = null; }catch(e){} } function Ask_CloseConn(){ try{ Ask_Conn.close(); Ask_Conn = null; }catch(e){} } 《/script》