2009-07-14 32 views

Trả lời

11
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 

Thử nghiệm bằng cách sử dụng Windows Security tích hợp, không kiểm tra bằng Đăng nhập SQL.

7

Dễ thứ, thực sự. Trước tiên, bạn phải xác định kết nối và recordset mà bạn sẽ sử dụng:

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

Sau đó, nó là tất cả về các chuỗi kết nối:

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

Chuỗi bao gồm một vài bộ phận:

  • Nhà cung cấp: loại kết nối bạn đang thiết lập, trong trường hợp này là SQL Server.

  • Nguồn dữ liệu: Máy chủ bạn đang kết nối đến.

  • Danh mục ban đầu: Tên cơ sở dữ liệu.

  • id người dùng: tên người dùng của bạn.

  • mật khẩu: um, mật khẩu của bạn. ;)

Lưu ý rằng nếu bạn muốn sử dụng thông tin đăng nhập Windows của bạn và đang chạy các kịch bản tại địa phương sau đó bạn có thể thay thế sau đây cho thông tin username và password:

Integrated Security=SSPI 

Tất nhiên, đây sẽ không hoạt động nếu bạn đang sử dụng tập lệnh của mình trên một trang web, vì vậy bạn sẽ phải sử dụng tên người dùng và mật khẩu một cách rõ ràng. Sau đó, bạn chỉ cần mở recordset, bàn giao truy vấn SQL và nắm bắt dữ liệu được trả về dưới dạng mảng.

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

Chỉ cần nhớ rằng dữ liệu đang được trả về là một mảng (thường là hai chiều, nơi mà các kết quả mà bạn muốn thực sự trong chiều thứ hai của mảng!) Và rằng bạn có thể cần phải hoặc là Trim để giết trống dấu cách ở cuối kết quả hoặc phân tích kết quả bằng các hàm chuỗi như Trái. Cá nhân, tôi luôn luôn Trim() một kết quả trong khi gán nó vào một biến như tôi đã bị cắn bởi khoảng trống ẩn nhiều lần hơn tôi có thể đếm.

+0

Cảm ơn bạn. Nơi nào bạn đặt connstr trong ví dụ của bạn mặc dù? – Pete

Các vấn đề liên quan