【问题标题】:VBScript to connect to SQL Server 2005 and update a tableVBScript 连接到 SQL Server 2005 并更新表
【发布时间】:2009-07-14 13:42:11
【问题描述】:

我是 VBScript 的新手。有人可以帮我使用 VBScript 连接到 SQL Server 2005 (OLEDB) 并更新数据库中的表。

我的服务器:sql14\qw
我的数据库:烦恼
用户 ID:管理员
密码:通过
表名:查找

【问题讨论】:

    标签: sql-server-2005 vbscript


    【解决方案1】:
    Const DB_CONNECT_STRING = "Provider=SQLOLEDB.1;Data Source=sql14\qw;Initial Catalog=fret;user id ='admin';password='pass'"
    Set myConn = CreateObject("ADODB.Connection")
    Set myCommand = CreateObject("ADODB.Command" )
    myConn.Open DB_CONNECT_STRING
    Set myCommand.ActiveConnection = myConn
    myCommand.CommandText = "UPDATE lookup SET Col1 = 'Hello'"
    myCommand.Execute
    myConn.Close
    

    使用集成 Windows 安全性进行测试,未使用 SQL 登录进行测试。

    【讨论】:

      【解决方案2】:

      其实很简单。首先,您必须定义要使用的连接和记录集:

      Set AdCn = CreateObject("ADODB.Connection")
      Set AdRec = CreateObject("ADODB.Recordset")
      

      之后就是连接字符串了:

      connstr="Provider=SQLOLEDB.1;Data Source=" & server & ";Initial Catalog=" & database & ";user id = '" & uid & "';password='" & pwd & "'"
      

      字符串由几部分组成:

      • Provider:您正在建立的连接类型,在本例中为 SQL Server。

      • 数据源:您要连接的服务器。

      • 初始目录:数据库的名称。

      • 用户 ID:您的用户名。

      • 密码:嗯,你的密码。 ;)

      请注意,如果您想使用 Windows 登录凭据并在本地运行脚本,则可以将以下内容替换为用户名和密码字段:

      Integrated Security=SSPI
      

      当然,如果您在网站上使用脚本,这将不起作用,因此您必须明确使用用户名和密码。然后,确保您的连接已打开,您只需打开记录集,交出 SQL 查询,并将返回的数据捕获为数组。

      SQL="Select @@version as name"
      AdCn.Open connstr
      AdRec.Open SQL, AdCn,1,1
      queryReturn=Adrec("name")
      

      请记住,数据是作为数组返回的(通常是二维的,您想要的结果实际上是在数组的第二维中!)并且您可能需要修剪以消除最后的空格结果或使用 Left 等字符串函数解析结果。就个人而言,我总是 Trim() 一个结果,同时将它分配给一个变量,因为我被隐藏的空白咬伤的次数比我能数的要多。

      【讨论】:

      • 谢谢。不过,您在示例中将 connstr 放在哪里?
      • @Pete AdCn.Open connstr 行被省略了。放在AdRec.Open之前
      猜你喜欢
      • 1970-01-01
      • 2010-10-18
      • 2010-10-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多