0
我有一個類,它有許多「New()」函數來啓動它與各種參數。我想創建一個New()函數來初始化沒有參數的類。問題是存在一個「fillData」函數,它填充類的數據,並接受存儲過程來完成工作,但有一個存儲過程參數。我不想創建一個新的fillData函數,但希望使用fillData函數,而不需要額外的存儲過程。我這樣做的方式是將一個空的SqlParameter var傳遞給fillData函數,但不管我做什麼,當我檢查params參數爲空時,它似乎總是認爲那裏有東西。如何檢查sqlParameter是否爲空?
我想檢查是否這種「PARAMS」參數爲空:
Public Sub New()
'just created this so i could pass something
'and continue using fillData as is.
Dim p(1) As SqlParameter
Dim db As sqldb.command
db = New sqldb.command(ConfigurationManager.ConnectionStrings("sqlConnectionString").ConnectionString)
fillData("r2m_getAllListingsSorted", p)
End Sub
...
Private Sub fillData(ByVal sp As String, ByVal params As SqlParameter())
Dim db As sqldb.command
Dim r As SqlDataReader
db = New sqldb.command(ConfigurationManager.ConnectionStrings("sqlConnectionString").ConnectionString)
'right here, im having the trouble, seems no matter how I try to "params",
'the code always defaults to db.executeReader(sp, p)
'I've tried params.Length = 0 and params.ToString = "" also.
If params.Value Then
r = db.executeReader(sp)
Else
r = db.executeReader(sp, params)
End If
我將如何修改這個,所以我可以繼續使用fillData功能,而不傳遞一個SqlParameter參數給它?
謝謝!
完美!我沒有意識到「可選」關鍵字,總是得到使用「Nothing」,0,NULL,DBNULL困惑。這工作很好,很乾淨。謝謝! – russds