منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : تصحيح الكود
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
السلام عليكم ورحمة الله

عندي كود  وقت الطلب عليه يهنق البرنامج لغاية سحب الداتا من الانترنت

شفت موضوع اخونا استاذ احمد كاتب رد لاحد الاخوه وكاتب الكود

غيرة في الكود ليناسبني 

بس تطلع لي مشكله في الطلب



إقتباس :Column 'state' does not belong to table Callsign.'



وهذا الكود

كود :
Private Sub getinfo()

       System.
       Threading.
       Tasks.
       Task.
       Factory.
       StartNew(
           Sub()



               Dim url As String = String.Format("http://xmldata.qrz.com/xml/current/?s={0};callsign={1}", LKey.Text, calls.Text)
                   Timer2.Stop()

                   Dim ds As New DataSet
                   ds.ReadXml(url)

                   If ds.Tables("Callsign").Rows.Count > 0 Then
                       Dim r As DataRow = ds.Tables("Callsign")(0)

                       state.Text = r("state").Trim().ToString()


                       Lfullname.Text = r("fname")

                       qth.Text = r("addr2")

                       WORKinfo.GRIDSQUARE.Text = r("grid")

                       WORKinfo.Lqslmgr.Text = r("qslmgr")
                       WORKinfo.LAT.Text = r("lat")
                       WORKinfo.LON.Text = r("lon")
                       WORKinfo.Liota.Text = r("iota")

                   End If



           End Sub)
   End Sub


اتمنى يكون الكود صحيح


وثاني شي للتهنيق هل الكود السابق مناسب  Task  

او هذا BackgroundWorker

كود :
 Private Delegate Sub checkstatusDelgetCallsign()
   Private WithEvents bg9 As New System.ComponentModel.BackgroundWorker


   Private Sub checkstatusgetCallsign()

       Dim url As String = String.Format("http://xmldata.qrz.com/xml/current/?s={0};callsign={1}", LKey.Text, calls.Text)
       Timer2.Stop()

       Dim ds As New DataSet
       ds.ReadXml(url)

       If ds.Tables("Callsign").Rows.Count > 0 Then
           Dim r As DataRow = ds.Tables("Callsign")(0)

           state.Text = r("state").Trim().ToString()


           Lfullname.Text = r("fname")

           qth.Text = r("addr2")

           WORKinfo.GRIDSQUARE.Text = r("grid")

           WORKinfo.Lqslmgr.Text = r("qslmgr")
           WORKinfo.LAT.Text = r("lat")
           WORKinfo.LON.Text = r("lon")
           WORKinfo.Liota.Text = r("iota")

       End If


   End Sub



   Private Sub bg9_DoWork(sender As Object, e As System.ComponentModel.DoWorkEventArgs) Handles bg9.DoWork

       Invoke(New checkstatusDelgetCallsign(AddressOf checkstatusgetCallsign))
   End Sub



وشكرا لكم على الافادة
(27-10-17, 01:48 AM)dubai.eig كتب : [ -> ]السلام عليكم ورحمة الله

عندي كود  وقت الطلب عليه يهنق البرنامج لغاية سحب الداتا من الانترنت

شفت موضوع اخونا استاذ احمد كاتب رد لاحد الاخوه وكاتب الكود

غيرة في الكود ليناسبني 

بس تطلع لي مشكله في الطلب



إقتباس :Column 'state' does not belong to table Callsign.'



وهذا الكود

كود :
Private Sub getinfo()

       System.
       Threading.
       Tasks.
       Task.
       Factory.
       StartNew(
           Sub()



               Dim url As String = String.Format("http://xmldata.qrz.com/xml/current/?s={0};callsign={1}", LKey.Text, calls.Text)
                   Timer2.Stop()

                   Dim ds As New DataSet
                   ds.ReadXml(url)

                   If ds.Tables("Callsign").Rows.Count > 0 Then
                       Dim r As DataRow = ds.Tables("Callsign")(0)

                       state.Text = r("state").Trim().ToString()


                       Lfullname.Text = r("fname")

                       qth.Text = r("addr2")

                       WORKinfo.GRIDSQUARE.Text = r("grid")

                       WORKinfo.Lqslmgr.Text = r("qslmgr")
                       WORKinfo.LAT.Text = r("lat")
                       WORKinfo.LON.Text = r("lon")
                       WORKinfo.Liota.Text = r("iota")

                   End If



           End Sub)
   End Sub


اتمنى يكون الكود صحيح


وثاني شي للتهنيق هل الكود السابق مناسب  Task  

او هذا BackgroundWorker

كود :
 Private Delegate Sub checkstatusDelgetCallsign()
   Private WithEvents bg9 As New System.ComponentModel.BackgroundWorker


   Private Sub checkstatusgetCallsign()

       Dim url As String = String.Format("http://xmldata.qrz.com/xml/current/?s={0};callsign={1}", LKey.Text, calls.Text)
       Timer2.Stop()

       Dim ds As New DataSet
       ds.ReadXml(url)

       If ds.Tables("Callsign").Rows.Count > 0 Then
           Dim r As DataRow = ds.Tables("Callsign")(0)

           state.Text = r("state").Trim().ToString()


           Lfullname.Text = r("fname")

           qth.Text = r("addr2")

           WORKinfo.GRIDSQUARE.Text = r("grid")

           WORKinfo.Lqslmgr.Text = r("qslmgr")
           WORKinfo.LAT.Text = r("lat")
           WORKinfo.LON.Text = r("lon")
           WORKinfo.Liota.Text = r("iota")

       End If


   End Sub



   Private Sub bg9_DoWork(sender As Object, e As System.ComponentModel.DoWorkEventArgs) Handles bg9.DoWork

       Invoke(New checkstatusDelgetCallsign(AddressOf checkstatusgetCallsign))
   End Sub



وشكرا لكم على الافادة


كود :
Private Sub BackgroundWorker1_DoWork(sender As Object, e As System.ComponentModel.DoWorkEventArgs) Handles BackgroundWorker1.DoWork
       ' عليك مناداة المثود الخاصه بالعمل هنا (او تستطيع وضع كامل الكود هنا
   End Sub

   Private Sub BackgroundWorker1_RunWorkerCompleted(sender As Object, e As RunWorkerCompletedEventArgs) Handles BackgroundWorker1.RunWorkerCompleted
       ' تستطيع اظهار رساله للمستخدم عند انتهاء الكود هنا
   End Sub

   Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
       ' وهذا الكود للتشغيل
       BackgroundWorker1.RunWorkerAsync()
   End Sub
لاكن عليك اضافه BackgroundWorker1 من قائمة الادوات 
(27-10-17, 02:42 AM)Rabeea Qbaha كتب : [ -> ]
(27-10-17, 01:48 AM)dubai.eig كتب : [ -> ]السلام عليكم ورحمة الله

عندي كود  وقت الطلب عليه يهنق البرنامج لغاية سحب الداتا من الانترنت

شفت موضوع اخونا استاذ احمد كاتب رد لاحد الاخوه وكاتب الكود

غيرة في الكود ليناسبني 

بس تطلع لي مشكله في الطلب



إقتباس :Column 'state' does not belong to table Callsign.'



وهذا الكود

كود :
Private Sub getinfo()

       System.
       Threading.
       Tasks.
       Task.
       Factory.
       StartNew(
           Sub()



               Dim url As String = String.Format("http://xmldata.qrz.com/xml/current/?s={0};callsign={1}", LKey.Text, calls.Text)
                   Timer2.Stop()

                   Dim ds As New DataSet
                   ds.ReadXml(url)

                   If ds.Tables("Callsign").Rows.Count > 0 Then
                       Dim r As DataRow = ds.Tables("Callsign")(0)

                       state.Text = r("state").Trim().ToString()


                       Lfullname.Text = r("fname")

                       qth.Text = r("addr2")

                       WORKinfo.GRIDSQUARE.Text = r("grid")

                       WORKinfo.Lqslmgr.Text = r("qslmgr")
                       WORKinfo.LAT.Text = r("lat")
                       WORKinfo.LON.Text = r("lon")
                       WORKinfo.Liota.Text = r("iota")

                   End If



           End Sub)
   End Sub


اتمنى يكون الكود صحيح


وثاني شي للتهنيق هل الكود السابق مناسب  Task  

او هذا BackgroundWorker

كود :
 Private Delegate Sub checkstatusDelgetCallsign()
   Private WithEvents bg9 As New System.ComponentModel.BackgroundWorker


   Private Sub checkstatusgetCallsign()

       Dim url As String = String.Format("http://xmldata.qrz.com/xml/current/?s={0};callsign={1}", LKey.Text, calls.Text)
       Timer2.Stop()

       Dim ds As New DataSet
       ds.ReadXml(url)

       If ds.Tables("Callsign").Rows.Count > 0 Then
           Dim r As DataRow = ds.Tables("Callsign")(0)

           state.Text = r("state").Trim().ToString()


           Lfullname.Text = r("fname")

           qth.Text = r("addr2")

           WORKinfo.GRIDSQUARE.Text = r("grid")

           WORKinfo.Lqslmgr.Text = r("qslmgr")
           WORKinfo.LAT.Text = r("lat")
           WORKinfo.LON.Text = r("lon")
           WORKinfo.Liota.Text = r("iota")

       End If


   End Sub



   Private Sub bg9_DoWork(sender As Object, e As System.ComponentModel.DoWorkEventArgs) Handles bg9.DoWork

       Invoke(New checkstatusDelgetCallsign(AddressOf checkstatusgetCallsign))
   End Sub



وشكرا لكم على الافادة


كود :
Private Sub BackgroundWorker1_DoWork(sender As Object, e As System.ComponentModel.DoWorkEventArgs) Handles BackgroundWorker1.DoWork
       ' عليك مناداة المثود الخاصه بالعمل هنا (او تستطيع وضع كامل الكود هنا
   End Sub

   Private Sub BackgroundWorker1_RunWorkerCompleted(sender As Object, e As RunWorkerCompletedEventArgs) Handles BackgroundWorker1.RunWorkerCompleted
       ' تستطيع اظهار رساله للمستخدم عند انتهاء الكود هنا
   End Sub

   Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
       ' وهذا الكود للتشغيل
       BackgroundWorker1.RunWorkerAsync()
   End Sub
لاكن عليك اضافه BackgroundWorker1 من قائمة الادوات 



شكرا لك 

بس مع الاسف الطلب الي يكون في فوم اخر ما اشتغل

كود :
           WORKinfo.GRIDSQUARE.Text = r("grid")

           WORKinfo.Lqslmgr.Text = r("qslmgr")
           WORKinfo.LAT.Text = r("lat")
           WORKinfo.LON.Text = r("lon")
           WORKinfo.Liota.Text = r("iota")


واللي بنفس الفوم اشتغل

كود :
           state.Text = r("state")


           Lfullname.Text = r("fname")

           qth.Text = r("addr2")


ونفس المسج الغلط 

كود :
Column 'state' does not belong to table Callsign.'



وشكرا لك
PHP كود :
Column 'state' does not belong to table Callsign.'

Check [Callsign] table has columns: state, fname, addr2, grid, qslmgr, lat, lon, iota 

PHP كود :
Public Class Form1

    Private WORKinfo 
As New WORKinfo

    Private Sub Form1_Load
(ByVal sender As ObjectByVal e As EventArgsHandles MyBase.Load
        WORKinfo
.Show()
 
   End Sub

    Private Sub Button1_Click
(ByVal sender As ObjectByVal e As EventArgsHandles Button1.Click
        getinfo
()
 
   End Sub


    Private Sub getinfo
()
 
       Threading.
 
       Tasks.
 
       Task.
 
       Factory.
 
       StartNew(
 
           Sub()
 
               Try

                    Dim url 
As String String.Format("http://xmldata.qrz.com/xml/current/?s={0};callsign={1}"LKey.Textcalls.Text)
 
                   Timer2.Stop()

 
                   Dim ds As New DataSet
                    ds
.ReadXml(url)

 
                   If ds.Tables("Callsign").Rows.Count 0 Then
                        Dim r 
As DataRow ds.Tables("Callsign")(0)

 
                       state.Invoke(Sub() state.Text r("state").Trim().ToString())
 
                       Lfullname.Invoke(Sub() Lfullname.Text r("fname"))
 
                       qth.Invoke(Sub() qth.Text r("addr2"))

 
                       WORKinfo.Invoke(Sub() WORKinfo.GRIDSQUARE.Text r("grid"))
 
                       WORKinfo.Invoke(Sub() WORKinfo.Lqslmgr.Text r("qslmgr"))
 
                       WORKinfo.Invoke(Sub() WORKinfo.LAT.Text r("lat"))
 
                       WORKinfo.Invoke(Sub() WORKinfo.LON.Text r("lon"))
 
                       WORKinfo.Invoke(Sub() WORKinfo.Liota.Text r("iota"))

 
                   End If

 
               Catch ex As Exception
                    MsgBox
(ex.Message)
 
               End Try
 
           End Sub)
 
   End Sub

End 
Class 
(27-10-17, 04:28 PM)a.ahmed كتب : [ -> ]
PHP كود :
Column 'state' does not belong to table Callsign.'

Check [Callsign] table has columns: state, fname, addr2, grid, qslmgr, lat, lon, iota 

PHP كود :
Public Class Form1

    Private WORKinfo 
As New WORKinfo

    Private Sub Form1_Load
(ByVal sender As ObjectByVal e As EventArgsHandles MyBase.Load
        WORKinfo
.Show()
 
   End Sub

    Private Sub Button1_Click
(ByVal sender As ObjectByVal e As EventArgsHandles Button1.Click
        getinfo
()
 
   End Sub


    Private Sub getinfo
()
 
       Threading.
 
       Tasks.
 
       Task.
 
       Factory.
 
       StartNew(
 
           Sub()
 
               Try

                    Dim url 
As String String.Format("http://xmldata.qrz.com/xml/current/?s={0};callsign={1}"LKey.Textcalls.Text)
 
                   Timer2.Stop()

 
                   Dim ds As New DataSet
                    ds
.ReadXml(url)

 
                   If ds.Tables("Callsign").Rows.Count 0 Then
                        Dim r 
As DataRow ds.Tables("Callsign")(0)

 
                       state.Invoke(Sub() state.Text r("state").Trim().ToString())
 
                       Lfullname.Invoke(Sub() Lfullname.Text r("fname"))
 
                       qth.Invoke(Sub() qth.Text r("addr2"))

 
                       WORKinfo.Invoke(Sub() WORKinfo.GRIDSQUARE.Text r("grid"))
 
                       WORKinfo.Invoke(Sub() WORKinfo.Lqslmgr.Text r("qslmgr"))
 
                       WORKinfo.Invoke(Sub() WORKinfo.LAT.Text r("lat"))
 
                       WORKinfo.Invoke(Sub() WORKinfo.LON.Text r("lon"))
 
                       WORKinfo.Invoke(Sub() WORKinfo.Liota.Text r("iota"))

 
                   End If

 
               Catch ex As Exception
                    MsgBox
(ex.Message)
 
               End Try
 
           End Sub)
 
   End Sub

End 
Class 

جميل بارك الله فيك

تسلم ايدك


بس المشكله يوم يبحث عن اسم معين
في ملف xml

كود :
<?xml version="1.0" ?>
<QRZDatabase version="1.33">
 <Callsign>
     <call>AA7BQ</call>
     <aliases>N6UFT,KJ6RK,DL/AA7BQ</aliases>
     <dxcc>291</dxcc>
     <fname>FRED L</fname>
     <name>LLOYD</name>
     <addr1>8711 E PINNACLE PEAK RD 193</addr1>
     <addr2>SCOTTSDALE</addr2>
     <state>AZ</state>
     <zip>85255</zip>
     <country>United States</country>
     <ccode>291</ccode>
     <lat>34.23456</lat>
     <lon>-112.34356</lon>
     <grid>DM32af</grid>
     <county>Maricopa</county>
     <fips>04013</fips>
     <land>USA</land>
     <efdate>2000-01-20</efdate>
     <expdate>2010-01-20</expdate>
     <p_call>KJ6RK</p_call>
     <class>E</class>
     <codes>HAI</codes>
     <qslmgr>NONE</qslmgr>
     <email>flloyd@qrz.com</email>
     <url>http://www.qrz.com/db/aa7bq</url>
     <u_views>115336</u_views>
     <bio>3937/2003-11-04</bio>
     <image>http://files.qrz.com/q/aa7bq/aa7bq.jpg</image>
     <serial>3626</serial>
     <moddate>2003-11-04 19:37:02</moddate>
     <MSA>6200</MSA>
     <AreaCode>602</AreaCode>
     <TimeZone>Mountain</TimeZone>
     <GMTOffset>-7</GMTOffset>
     <DST>N</DST>
     <eqsl>Y</eqsl>
     <mqsl>Y</mqsl>
     <cqzone>3</cqzone>
     <ituzone>2</ituzone>
     <geoloc>user</geoloc>
     <born>1953</born>
 </Callsign>
 <Session>
     <Key>2331uf894c4bd29f3923f3bacf02c532d7bd9</Key>
     <Count>123</Count>
     <SubExp>Wed Jan 1 12:34:03 2013</SubExp>
     <GMTime>Sun Nov 16 04:13:46 2012</GMTime>
 </Session>
</QRZDatabase>


اذا طلع شي فاضي 

مثلا

كود :
<state></state>


فاضي يطلع لي مشكله هذا المسج

كود :
Column 'state' does not belong to table Callsign.


واذا كل تيبل في شي يشغل الكود بشكل ممتاز



حاولت اكتب هذا الكزد

كود :
                       If IsDBNull(state.Invoke(Sub() state.Text = r("state"))) OrElse state.Invoke(Sub() state.Text = r("state")) Is Nothing OrElse state.Invoke(Sub() state.Text = r("state")).ToString().Trim() = "" Then
                           state.Invoke(Sub() state.Text = "1")
                       Else
                           state.Invoke(Sub() state.Text = r("state"))
                       End If


بعد نفس المشكله

كود :
Column 'state' does not belong to table Callsign.


بارك الله فيك
PHP كود :
Private Sub getinfo()
    
Threading.
    
Tasks.
    
Task.
    
Factory.
    
StartNew(
        
Sub()
            Try

                
Dim url As String String.Format("http://xmldata.qrz.com/xml/current/?s={0};callsign={1}"LKey.Textcalls.Text)
                
Timer2.Stop()

                
Dim ds As New DataSet
                ds
.ReadXml(url)

                If 
ds.Tables.Contains("Callsign"Then
                    Dim dt 
As DataTable ds.Tables("Callsign")

                    If 
dt.Rows.Count 0 Then
                        Dim r 
As DataRow dt(0)

                        If 
dt.Columns.Contains("state"Then state.Invoke(Sub() state.Text r("state").Trim().ToString())
                        If 
dt.Columns.Contains("fname"Then Lfullname.Invoke(Sub() Lfullname.Text r("fname"))
                        If 
dt.Columns.Contains("addr2"Then qth.Invoke(Sub() qth.Text r("addr2"))

                        If 
dt.Columns.Contains("grid"Then WORKinfo.Invoke(Sub() WORKinfo.GRIDSQUARE.Text r("grid"))
                        If 
dt.Columns.Contains("qslmgr"Then WORKinfo.Invoke(Sub() WORKinfo.Lqslmgr.Text r("qslmgr"))
                        If 
dt.Columns.Contains("lat"Then WORKinfo.Invoke(Sub() WORKinfo.LAT.Text r("lat"))
                        If 
dt.Columns.Contains("lon"Then WORKinfo.Invoke(Sub() WORKinfo.LON.Text r("lon"))
                        If 
dt.Columns.Contains("iota"Then WORKinfo.Invoke(Sub() WORKinfo.Liota.Text r("iota"))

                    
End If

                
End If

            Catch 
ex As Exception
                MsgBox
(ex.Message)
            
End Try
        
End Sub)
End Sub 
(27-10-17, 07:36 PM)a.ahmed كتب : [ -> ]
PHP كود :
Private Sub getinfo()
 
   Threading.
 
   Tasks.
 
   Task.
 
   Factory.
 
   StartNew(
 
       Sub()
 
           Try

                Dim url 
As String String.Format("http://xmldata.qrz.com/xml/current/?s={0};callsign={1}"LKey.Textcalls.Text)
 
               Timer2.Stop()

 
               Dim ds As New DataSet
                ds
.ReadXml(url)

 
               If ds.Tables.Contains("Callsign"Then
                    Dim dt 
As DataTable ds.Tables("Callsign")

 
                   If dt.Rows.Count 0 Then
                        Dim r 
As DataRow dt(0)

 
                       If dt.Columns.Contains("state"Then state.Invoke(Sub() state.Text r("state").Trim().ToString())
 
                       If dt.Columns.Contains("fname"Then Lfullname.Invoke(Sub() Lfullname.Text r("fname"))
 
                       If dt.Columns.Contains("addr2"Then qth.Invoke(Sub() qth.Text r("addr2"))

 
                       If dt.Columns.Contains("grid"Then WORKinfo.Invoke(Sub() WORKinfo.GRIDSQUARE.Text r("grid"))
 
                       If dt.Columns.Contains("qslmgr"Then WORKinfo.Invoke(Sub() WORKinfo.Lqslmgr.Text r("qslmgr"))
 
                       If dt.Columns.Contains("lat"Then WORKinfo.Invoke(Sub() WORKinfo.LAT.Text r("lat"))
 
                       If dt.Columns.Contains("lon"Then WORKinfo.Invoke(Sub() WORKinfo.LON.Text r("lon"))
 
                       If dt.Columns.Contains("iota"Then WORKinfo.Invoke(Sub() WORKinfo.Liota.Text r("iota"))

 
                   End If

 
               End If

 
           Catch ex As Exception
                MsgBox
(ex.Message)
 
           End Try
 
       End Sub)
End Sub 

تسلم ايدك استاذي الكريم

تحيه واحترام لك Smile