我正在编写一个程序,需要在同一个sub
中使用两个存储过程。
一个是GET
,另一个是Update
他们做的是获取图像的URL,我想要做的是使用更新来使用2,如果图像检索是成功的,3如果错误。该程序应该从URL中获取图像,例如:www.company.com/234567.jpg
并使用/
存储过程使用的表有一个idestination列,我想使用2或3
所以我的问题是:我如何使用这两个存储过程,哪一个需要使用另一个?一个人需要获取图像,其他人必须查看它是否已下载然后更新。
我的VB:
Dim cmdGet As New SqlCommand("ETSP_GET_PHOTO_URLS")
Dim cmdUpdate As New SqlCommand("ETSP_UPDATE_PHOTO_URLS")
Dim conn As New SqlConnection(ConfigurationSettings.AppSettings(("ConnectionString")))
cmdGet.Connection = conn
cmdGet.CommandType = CommandType.StoredProcedure
cmdGet.ExecuteNonQuery()
cmdGet.Parameters("@count").Value = 10
Dim adapter As New SqlDataAdapter(cmdGet)
Dim ds As DataSet
adapter.Fill(ds)
Dim client As New WebClient
Dim pofneus As String
For Each DR As DataRow In ds.Tables(0).Rows
pofneus = GetFileNameFromURL(CStr(DR(1)))
client.DownloadFile(CStr(DR(1)), "c:\images\" & pofneus)
client.Dispose()
Next
loopthroughfiles(pofneus)
conn.Close()
我使用VB但我不介意C#help
答案 0 :(得分:0)
这可以通过在下载部分周围使用try catch
块来实现,如下所示:
For Each DR As DataRow In ds.Tables(0).Rows
pofneus = GetFileNameFromURL(CStr(DR(1)))
Try
client.DownloadFile(CStr(DR(1)), "c:\images\"" & pofneus)
' Call update procedure with 2
Catch e as Exception
' Call update procedure with 3
Finally
client.Dispose()
End Try
Next