Parametreleri kabul etmesi ve bu parametreleri veritabanını geçiren Sorgu dizesinde içermesi gereken bir ADO VBScript çalışıyorum. Kayıt Kümesi Nesnesi açmaya çalışırken hata almaya devam ediyorum. Bir sorguyu parametreler olmadan iletirsem, kayıt kümesi açılır ve verilerle çalışabilirim. Komut dosyası bir hata ayıklayıcısından çalıştırdığımda, komut nesnesi parametre nesnesi için bir değer göstermez. Bana öyle geliyor ki, Command nesnesini ve Parametre nesnesini ilişkilendiren bir şeyi özlüyorum ama ne olduğunu bilmiyorum. Ben bunun için parametre geçirmek isteyen haricinde oldukça standarttır kullanmakParametreleri, ADS'deki VBScript ile Komut nesnelerine nasıl ilişkilendiririm?
...
'Open Text file to collect SQL query string'
Set fso = CreateObject("Scripting.FileSystemObject")
fileName = "C:\SQLFUN\Limits_ADO.sql"
Set tso = fso.OpenTextFile(fileName, FORREADING)
SQL = tso.ReadAll
'Create ADO instance'
connString = "DRIVER={SQL Server};SERVER=myserver;UID=MyName;PWD=notapassword; Database=favoriteDB"
Set connection = CreateObject("ADODB.Connection")
Set cmd = CreateObject("ADODB.Command")
connection.Open connString
cmd.ActiveConnection = connection
cmd.CommandText = SQL
cmd.CommandType = adCmdText
Set paramTotals = cmd.CreateParameter
With paramTotals
.value = "tot%"
.Name = "Param1"
End With
'The error occurs on the next line'
Set recordset = cmd.Execute
If recordset.EOF then
WScript.Echo "No Data Returned"
Else
Do Until recordset.EOF
WScript.Echo recordset.Fields.Item(0) ' & vbTab & recordset.Fields.Item(1)
recordset.MoveNext
Loop
End If
SQL dizesi: İşte VBScript Kanununun biraz. Böyle bir şeydir: "?" Diye ADO değiştirmeniz gerekir anlamak
SELECT column1
FROM table1
WHERE column1 IS LIKE ?
komut dosyasında I parametre parametresi ile atayın. Gördüğüm sorun, Parametre nesnesinin doğru değeri göstermesidir, ancak hata ayıklayıcım uyarınca komut nesnesinin parametre alanı boştur.
Bu benim için çalıştı --- teşekkürler! Okuyucular lütfen dikkat ediniz: '.Execute'' 'Parameters' argümanı' Variant'ı alır. Parametrelerinizin sayısı ve biçimleri, sorgunun beklediği eşleşme ile uyuşmuyorsa çok belirsiz hata iletileri alacaksınız! – cxw