1
我有使用存儲過程的代碼,但是我得到了標題中指出的錯誤。我經歷了類似的帖子,但我沒有得到解決。我確定參數的數量與存儲過程中的相同。過程或函數指定的參數太多
@stype as varchar,
@surl as varchar(500),
@status as bigint,
@pk_photo_id as bigint,
@bactive as bigint,
@property_id as varchar(30),
@client_id as bigint
.... rest of code
if (@stype = 'L')
BEGIN
update ET_PROPERTY_PHOTO set [email protected], [email protected] where [email protected]_photo_id
if (@bactive=1)
BEGIN
update ET_PROPERTY set [email protected] where ([email protected]_id) and (@client_id = fkl_XML_Client_ID)
END
....rest of code
我的VB代碼:
Dim cmdSet As New SqlCommand("ETSP_UPDATE_PHOTO_URLS")
cmdSet.CommandType = CommandType.StoredProcedure
cmdSet.Parameters.AddWithValue("@stype", "L")
Try
Dim utility As New TransferUtility(AWSAccessKey, AWSSecretKey, RegionEndpoint.EUWest1)
Dim S3_KEY As String = sKey
Dim txtFolderPath As String = "C:\\images\\"
Dim bucket As String = ConfigurationSettings.AppSettings("bucket")
Dim files As String() = Directory.GetFiles(txtFolderPath)
For Each images As String In files
Dim id As String = ""
For Each str As String In IDS
If Path.GetFileNameWithoutExtension(sKey).Contains(str) Then
id = str
End If
Next
utility.Upload(txtFolderPath & sKey, bucket)
Dim cannedACL As S3CannedACL = S3CannedACL.PublicRead
Dim fileNameOnly As String = Path.GetFileNameWithoutExtension(sKey)
Dim token As String = fileNameOnly.Remove(fileNameOnly.LastIndexOf("_"c))
Dim number As New String(token.SkipWhile(AddressOf [Char].IsLetter).ToArray())
cmdSet.Parameters.AddWithValue("@surl", Convert.ToString("URL" & sKey))
cmdSet.Parameters.AddWithValue("@status", 2)
cmdSet.Parameters.AddWithValue("@pk_photo_id", number)
cmdSet.Parameters.AddWithValue("@bactive", 1)
cmdSet.Parameters.AddWithValue("@property_id", id)
cmdSet.Parameters.AddWithValue("@client_id", clientIDs)
....code
任何建議或修正? 我不介意C#的幫助。
其中線錯誤發生的算? – HackerMan
難道是因爲在循環中添加參數? – DaveParsons
@HackerMan我不知道,但是當它想要執行我假設的代碼時,我有一個日誌,它只在executeNonQuery出現,我無法調試,長篇故事。 – user3588641