以下是VBScript连接Access数据库的基本代码: Set conn = CreateObject("ADODB.Connection") conn.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\database.mdb;" Set rs = CreateObject("ADODB.Recordset") rs.Open "SELECT * FROM users", conn Do While Not rs.EOF WScript.Echo rs("name") rs.MoveNext Loop rs.Close conn.Close
连接SQL Server
Dim conn Set conn = CreateObject("ADODB.Connection") conn.ConnectionString = "Provider=SQLOLEDB;Server=localhost;Database=mydb;UID=sa;PWD=pass;" conn.Open
插入数据
sql = "INSERT INTO table (col1, col2) VALUES ('value1', 'value2')" conn.Execute sql
更新数据
sql = "UPDATE table SET col1='newvalue' WHERE id=1" conn.Execute sql
删除数据
sql = "DELETE FROM table WHERE id=1" conn.Execute sql
查询并解码
Set rs = conn.Execute("SELECT * FROM table") Do Until rs.EOF data = rs("data") decoded = Replace(data, "encoded", "decoded") WScript.Echo decoded rs.MoveNext Loop
事务处理
conn.BeginTrans conn.Execute "INSERT..." If success Then conn.CommitTrans Else conn.RollbackTrans End If
存储过程调用
Dim cmd Set cmd = CreateObject("ADODB.Command") cmd.ActiveConnection = conn cmd.CommandText = "exec MyProc ?" cmd.Parameters.Append cmd.CreateParameter("@param", 129, 1, 50, "value") Set rs = cmd.Execute
FAQ
Q: 如何处理连接错误?
A: 用On Error Resume Next,然后检查conn.Errors.Count。
Q: VBScript能连MySQL吗?
A: 是,用Provider=MySQLProv,但需下载驱动。
Q: 怎么防SQL注入?
A: 用参数化查询,如cmd.Parameters。
Q: 关闭资源怎么做?
A: rs.Close : conn.Close : Set rs=Nothing : Set conn=Nothing。