arsalansalar
شنبه 27 بهمن 1386, 20:49 عصر
با سلام
من برای تکمیل بانک یک دیکشتنری از یک وب سرویس استفاده می کنم به این صورت که لغت را ورودی می گیرد و خروجی ترجمه مورد نظر کلمه را می دهد. من می خواهم با یک threade به جای while این کار را بکنم.من در زیر کدم را آوردم می خواستم بدانم چگونه با therade آن را جایگزین کنم؟
Imports System.Data.OleDb
Imports System.Data
Public Class Form1
Dim con As OleDbConnection
Dim cmdSelect As OleDbCommand
Dim dr As OleDbDataReader
Function myInsert(ByVal r, ByVal num)
If r <> "The remote server returned an error: (999) Unable to process request at this time -- error 999." Then
Dim updateSql As String
updateSql = "Update bank Set france = '" & r & "' "
updateSql &= " Where val(id) = '" & num & "'"
con = New OleDbConnection("provider=microsoft.jet.oledb.4.0 ; data source=" & Application.StartupPath() & "\word.mdb")
cmdSelect = New OleDbCommand(updateSql, con)
con.Open()
cmdSelect.ExecuteNonQuery()
con.Close()
Else
MessageBox.Show("France error")
End If
End Function
Function myInsert2(ByVal r, ByVal num)
If r <> "The remote server returned an error: (999) Unable to process request at this time -- error 999." Then
Dim updateSql As String
updateSql = "Update bank Set italy = '" & r & "' "
updateSql &= " Where val(id) = '" & num & "'"
con = New OleDbConnection("provider=microsoft.jet.oledb.4.0 ; data source=" & Application.StartupPath() & "\word.mdb")
cmdSelect = New OleDbCommand(updateSql, con)
con.Open()
cmdSelect.ExecuteNonQuery()
con.Close()
Else
MessageBox.Show("italy error")
End If
End Function
Function myInsert3(ByVal r, ByVal num)
If r <> "The remote server returned an error: (999) Unable to process request at this time -- error 999." Then
Dim updateSql As String
updateSql = "Update bank Set spain = '" & r & "' "
updateSql &= " Where val(id) = '" & num & "'"
con = New OleDbConnection("provider=microsoft.jet.oledb.4.0 ; data source=" & Application.StartupPath() & "\word.mdb")
cmdSelect = New OleDbCommand(updateSql, con)
con.Open()
cmdSelect.ExecuteNonQuery()
con.Close()
Else
MessageBox.Show("spain error")
End If
End Function
Function myInsert4(ByVal r, ByVal num)
If r <> "The remote server returned an error: (999) Unable to process request at this time -- error 999." Then
Dim updateSql As String
updateSql = "Update bank Set pourteghal = '" & r & "' "
updateSql &= " Where val(id) = '" & num & "'"
con = New OleDbConnection("provider=microsoft.jet.oledb.4.0 ; data source=" & Application.StartupPath() & "\word.mdb")
cmdSelect = New OleDbCommand(updateSql, con)
con.Open()
cmdSelect.ExecuteNonQuery()
con.Close()
Else
MessageBox.Show("pourteghal error")
End If
End Function
Function myInsert5(ByVal r, ByVal num)
If r <> "The remote server returned an error: (999) Unable to process request at this time -- error 999." Then
Dim updateSql As String
updateSql = "Update bank Set russia = '" & r & "' "
updateSql &= " Where val(id) = '" & num & "'"
con = New OleDbConnection("provider=microsoft.jet.oledb.4.0 ; data source=" & Application.StartupPath() & "\word.mdb")
cmdSelect = New OleDbCommand(updateSql, con)
con.Open()
cmdSelect.ExecuteNonQuery()
con.Close()
Else
MessageBox.Show("russia error")
End If
End Function
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
'Dim a As net.webservicex.www.Language
' Dim b As New net.webservicex.www.TranslateService
' MessageBox.Show(b.Translate(net.webservicex.www.La nguage.EnglishTOFrench, "door"))
'Dim a As net.webservicex.www.Language
Dim id As Double
Dim updateSql As String
con = New OleDbConnection("provider=microsoft.jet.oledb.4.0 ; data source=" & Application.StartupPath() & "\word.mdb")
cmdSelect = New OleDbCommand("Select * From b", con)
con.Open()
dr = cmdSelect.ExecuteReader()
id = dr("id")
dr.Close()
con.Close()
'''''''''''''''''''''''''''''''''''''''''''''''''' '''''''''''''
Dim strWord, result As String
Dim i As Double
Dim b As New net.webservicex.www.TranslateService
con = New OleDbConnection("provider=microsoft.jet.oledb.4.0 ; data source=" & Application.StartupPath() & "\word.mdb")
cmdSelect = New OleDbCommand("Select * From bank", con)
con.Open()
dr = cmdSelect.ExecuteReader()
While dr.Read
strWord = dr("english")
i = dr("id")
result = b.Translate(net.webservicex.www.Language.EnglishTO French, strWord)
Call myInsert(result, i)
result = b.Translate(net.webservicex.www.Language.EnglishTO Italian, strWord)
Call myInsert2(result, i)
result = b.Translate(net.webservicex.www.Language.EnglishTO Spanish, strWord)
Call myInsert3(result, i)
result = b.Translate(net.webservicex.www.Language.EnglishTO Portuguese, strWord)
Call myInsert4(result, i)
result = b.Translate(net.webservicex.www.Language.EnglishTo Russian, strWord)
Call myInsert5(result, i)
End While
dr.Close()
con.Close()
MessageBox.Show("لغات گرفته شد!")
'''''''''''''''''''''''''''''''''''''''''''''''''' ''''''''
updateSql = "Update b Set id = '" & i & "' "
updateSql &= " Where val(m) = '1'"
con = New OleDbConnection("provider=microsoft.jet.oledb.4.0 ; data source=" & Application.StartupPath() & "\word.mdb")
cmdSelect = New OleDbCommand(updateSql, con)
con.Open()
cmdSelect.ExecuteNonQuery()
con.Close()
End Sub
من برای تکمیل بانک یک دیکشتنری از یک وب سرویس استفاده می کنم به این صورت که لغت را ورودی می گیرد و خروجی ترجمه مورد نظر کلمه را می دهد. من می خواهم با یک threade به جای while این کار را بکنم.من در زیر کدم را آوردم می خواستم بدانم چگونه با therade آن را جایگزین کنم؟
Imports System.Data.OleDb
Imports System.Data
Public Class Form1
Dim con As OleDbConnection
Dim cmdSelect As OleDbCommand
Dim dr As OleDbDataReader
Function myInsert(ByVal r, ByVal num)
If r <> "The remote server returned an error: (999) Unable to process request at this time -- error 999." Then
Dim updateSql As String
updateSql = "Update bank Set france = '" & r & "' "
updateSql &= " Where val(id) = '" & num & "'"
con = New OleDbConnection("provider=microsoft.jet.oledb.4.0 ; data source=" & Application.StartupPath() & "\word.mdb")
cmdSelect = New OleDbCommand(updateSql, con)
con.Open()
cmdSelect.ExecuteNonQuery()
con.Close()
Else
MessageBox.Show("France error")
End If
End Function
Function myInsert2(ByVal r, ByVal num)
If r <> "The remote server returned an error: (999) Unable to process request at this time -- error 999." Then
Dim updateSql As String
updateSql = "Update bank Set italy = '" & r & "' "
updateSql &= " Where val(id) = '" & num & "'"
con = New OleDbConnection("provider=microsoft.jet.oledb.4.0 ; data source=" & Application.StartupPath() & "\word.mdb")
cmdSelect = New OleDbCommand(updateSql, con)
con.Open()
cmdSelect.ExecuteNonQuery()
con.Close()
Else
MessageBox.Show("italy error")
End If
End Function
Function myInsert3(ByVal r, ByVal num)
If r <> "The remote server returned an error: (999) Unable to process request at this time -- error 999." Then
Dim updateSql As String
updateSql = "Update bank Set spain = '" & r & "' "
updateSql &= " Where val(id) = '" & num & "'"
con = New OleDbConnection("provider=microsoft.jet.oledb.4.0 ; data source=" & Application.StartupPath() & "\word.mdb")
cmdSelect = New OleDbCommand(updateSql, con)
con.Open()
cmdSelect.ExecuteNonQuery()
con.Close()
Else
MessageBox.Show("spain error")
End If
End Function
Function myInsert4(ByVal r, ByVal num)
If r <> "The remote server returned an error: (999) Unable to process request at this time -- error 999." Then
Dim updateSql As String
updateSql = "Update bank Set pourteghal = '" & r & "' "
updateSql &= " Where val(id) = '" & num & "'"
con = New OleDbConnection("provider=microsoft.jet.oledb.4.0 ; data source=" & Application.StartupPath() & "\word.mdb")
cmdSelect = New OleDbCommand(updateSql, con)
con.Open()
cmdSelect.ExecuteNonQuery()
con.Close()
Else
MessageBox.Show("pourteghal error")
End If
End Function
Function myInsert5(ByVal r, ByVal num)
If r <> "The remote server returned an error: (999) Unable to process request at this time -- error 999." Then
Dim updateSql As String
updateSql = "Update bank Set russia = '" & r & "' "
updateSql &= " Where val(id) = '" & num & "'"
con = New OleDbConnection("provider=microsoft.jet.oledb.4.0 ; data source=" & Application.StartupPath() & "\word.mdb")
cmdSelect = New OleDbCommand(updateSql, con)
con.Open()
cmdSelect.ExecuteNonQuery()
con.Close()
Else
MessageBox.Show("russia error")
End If
End Function
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
'Dim a As net.webservicex.www.Language
' Dim b As New net.webservicex.www.TranslateService
' MessageBox.Show(b.Translate(net.webservicex.www.La nguage.EnglishTOFrench, "door"))
'Dim a As net.webservicex.www.Language
Dim id As Double
Dim updateSql As String
con = New OleDbConnection("provider=microsoft.jet.oledb.4.0 ; data source=" & Application.StartupPath() & "\word.mdb")
cmdSelect = New OleDbCommand("Select * From b", con)
con.Open()
dr = cmdSelect.ExecuteReader()
id = dr("id")
dr.Close()
con.Close()
'''''''''''''''''''''''''''''''''''''''''''''''''' '''''''''''''
Dim strWord, result As String
Dim i As Double
Dim b As New net.webservicex.www.TranslateService
con = New OleDbConnection("provider=microsoft.jet.oledb.4.0 ; data source=" & Application.StartupPath() & "\word.mdb")
cmdSelect = New OleDbCommand("Select * From bank", con)
con.Open()
dr = cmdSelect.ExecuteReader()
While dr.Read
strWord = dr("english")
i = dr("id")
result = b.Translate(net.webservicex.www.Language.EnglishTO French, strWord)
Call myInsert(result, i)
result = b.Translate(net.webservicex.www.Language.EnglishTO Italian, strWord)
Call myInsert2(result, i)
result = b.Translate(net.webservicex.www.Language.EnglishTO Spanish, strWord)
Call myInsert3(result, i)
result = b.Translate(net.webservicex.www.Language.EnglishTO Portuguese, strWord)
Call myInsert4(result, i)
result = b.Translate(net.webservicex.www.Language.EnglishTo Russian, strWord)
Call myInsert5(result, i)
End While
dr.Close()
con.Close()
MessageBox.Show("لغات گرفته شد!")
'''''''''''''''''''''''''''''''''''''''''''''''''' ''''''''
updateSql = "Update b Set id = '" & i & "' "
updateSql &= " Where val(m) = '1'"
con = New OleDbConnection("provider=microsoft.jet.oledb.4.0 ; data source=" & Application.StartupPath() & "\word.mdb")
cmdSelect = New OleDbCommand(updateSql, con)
con.Open()
cmdSelect.ExecuteNonQuery()
con.Close()
End Sub