在VB中使用两个存储过程

时间:2014-04-23 19:46:56

标签: vb.net stored-procedures

我正在编写一个程序,需要在同一个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

1 个答案:

答案 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