تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
سؤال بخصوص البحث باستخدام التاريخ عن طريق WebService
#1
السلام عليكم اخواني
لدي قاعدة بيانات SQL Sever اقوم بالاتصال بها عن طريق WebService
السؤال هنا عندما اقوم بالبحث في جدول معين عن طريق تحديد التاريخ يعطي لي خطا فارجوا المساعدة وهذه هي الاكواد التي قمت باستخدامها

اولا الدالة الموجوده في WebService

كود :
   <WebMethod()>
   Public Function SelectPCTakhen(DatePC As Date) As DataTable
       Try
           CON = New SqlConnection(ConString)
           Dim da As New SqlDataAdapter("SELECT BarCodeNumber FROM PcTable WHERE DateofCome =" & DatePC & "", CON)
           Dim dt As New DataTable
           dt.TableName = "PcTable"
           da.Fill(dt)
           Return dt
       Catch ex As Exception
           Throw New SoapException(ex.Message, SoapException.ServerFaultCode, Context.Request.Url.AbsoluteUri)
       End Try
   End Function

ثانيا استدعاء الدالة

كود :
   Private Sub DateTimePicker1_ValueChanged(sender As Object, e As EventArgs) Handles DateTimePicker1.ValueChanged
       'استدعاء الدالة من الويب سيفر من خلال المتغير i
       If i.SelectPCTakhen(DateTimePicker1.Value).Rows.Count > 0 Then
           DataGridView1.DataSource = i.SelectPCTakhen(DateTimePicker1.Value)
       End If
   End Sub

ويقوم باعطائي هذا الخطا

كود :
System.Web.Services.Protocols.SoapException
 HResult=0x80131501
 Message=Incorrect syntax near '02'.
 Source=WebApplicationCoputerMangement
 StackTrace:
  at WebApplicationCoputerMangement.WebService1.SelectPCTakhen(DateTime DatePC) in D:\Projects\NewComputerMangement\WebApplicationCoputerMangement\WebService1.asmx.vb:line 1093

ارجوا المساعدة جزاكم الله خيرا
الرد
تم الشكر بواسطة:
#2
اولا الدالة الموجوده في WebService
كود :
<WebMethod()>
Public Function SelectPCTakhen(DatePC As Date) As DataTable
    Try
        Dim da As New SqlDataAdapter("SELECT BarCodeNumber FROM PcTable WHERE DateofCome=@d", ConString) ' DataAdapter مع ConString لاحظ الإكتفاء بـ
        da.SelectCommand.Parameters.AddWithValue("@d",DatePC.Date)' Parameters لاحظ استخدام 
        Dim dt As New DataTable
        da.Fill(dt)
        Return dt
    Catch ex As Exception
        Throw New SoapException(ex.Message, SoapException.ServerFaultCode, Context.Request.Url.AbsoluteUri)
    End Try
End Function


ثانيا استدعاء الدالة 
كود :
Private Sub DateTimePicker1_ValueChanged(sender As Object, e As EventArgs) Handles DateTimePicker1.ValueChanged
    'استدعاء الدالة من الويب سيفر من خلال المتغير i
    Dim dt As DataTable = i.SelectPCTakhen(DateTimePicker1.Value.Date)
    If dt.Rows.Count > 0 Then
        DataGridView1.DataSource = dt' .Date لاحظ زيادة
    End If
End Sub
الرد
تم الشكر بواسطة: elgokr
#3
اشكرك [b]rmnr على الاستجابة السريعة وعلي الشرح المفيد لكن اعطني بعض الاخطاء[/b]

كود :
System.ServiceModel.FaultException
 HResult=0x80131501
 Message=System.Web.Services.Protocols.SoapException: Server was unable to process request. ---> System.InvalidOperationException: There was an error generating the XML document. ---> System.InvalidOperationException: Cannot serialize the DataTable. DataTable name is not set.
  at System.Data.DataTable.WriteXmlSchema(XmlWriter writer, Boolean writeHierarchy)
  at System.Data.DataTable.System.Xml.Serialization.IXmlSerializable.WriteXml(XmlWriter writer)
  at System.Xml.Serialization.XmlSerializationWriter.WriteSerializable(IXmlSerializable serializable, String name, String ns, Boolean isNullable, Boolean wrapped)
  at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationWriter1.Write95_SelectPCTakhenResponse(Object[] p)
  at Microsoft.Xml.Serialization.GeneratedAssembly.ArrayOfObjectSerializer189.Serialize(Object objectToSerialize, XmlSerializationWriter writer)
  at System.Xml.Serialization.XmlSerializer.Serialize(XmlWriter xmlWriter, Object o, XmlSerializerNamespaces namespaces, String encodingStyle, String id)
  --- End of inner exception stack trace ---
  at System.Xml.Serialization.XmlSerializer.Serialize(XmlWriter xmlWriter, Object o, XmlSerializerNamespaces namespaces, String encodingStyle, String id)
  at System.Web.Services.Protocols.SoapServerProtocol.WriteReturns(Object[] returnValues, Stream outputStream)
  at System.Web.Services.Protocols.WebServiceHandler.WriteReturns(Object[] returnValues)
  at System.Web.Services.Protocols.WebServiceHandler.Invoke()
  --- End of inner exception stack trace ---
 Source=mscorlib
 StackTrace:
  at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
  at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
  at ComputerMangement.ServiceReference1.WebService1Soap.SelectPCTakhen(DateTime DatePC)
  at ComputerMangement.ServiceReference1.WebService1SoapClient.SelectPCTakhen(DateTime DatePC) in D:\Projects\NewComputerMangement\ComputerMangement\Service References\ServiceReference1\Reference.vb:line 1008
  at ComputerMangement.FrmTakhenTwred.DateTimePicker1_ValueChanged(Object sender, EventArgs e) in D:\Projects\NewComputerMangement\ComputerMangement\FrmTakhenTwred.vb:line 109
  at System.Windows.Forms.DateTimePicker.OnValueChanged(EventArgs eventargs)
  at System.Windows.Forms.DateTimePicker.WmDateTimeChange(Message& m)
  at System.Windows.Forms.DateTimePicker.WmReflectCommand(Message& m)
  at System.Windows.Forms.DateTimePicker.WndProc(Message& m)
  at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
  at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
  at System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
  at System.Windows.Forms.UnsafeNativeMethods.SendMessage(HandleRef hWnd, Int32 msg, IntPtr wParam, IntPtr lParam)
  at System.Windows.Forms.Control.SendMessage(Int32 msg, IntPtr wparam, IntPtr lparam)
  at System.Windows.Forms.Control.ReflectMessageInternal(IntPtr hWnd, Message& m)
  at System.Windows.Forms.Control.WmNotify(Message& m)
  at System.Windows.Forms.Control.WndProc(Message& m)
  at System.Windows.Forms.GroupBox.WndProc(Message& m)
  at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
  at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
  at System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
  at System.Windows.Forms.UnsafeNativeMethods.CallWindowProc(IntPtr wndProc, IntPtr hWnd, Int32 msg, IntPtr wParam, IntPtr lParam)
  at System.Windows.Forms.NativeWindow.DefWndProc(Message& m)
  at System.Windows.Forms.Control.DefWndProc(Message& m)
  at System.Windows.Forms.Control.WmNotify(Message& m)
  at System.Windows.Forms.Control.WndProc(Message& m)
  at System.Windows.Forms.DateTimePicker.WndProc(Message& m)
  at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
  at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
  at System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
  at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
  at System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData)
  at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
  at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
  at Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.OnRun()
  at Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.DoApplicationModel()
  at Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.Run(String[] commandLine)
  at ComputerMangement.My.MyApplication.Main(String[] Args) in :line 81
الرد
تم الشكر بواسطة:
#4
ارجوا المساعدة ياخواني
الرد
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  بخصوص التاريخ salah mansour 0 9 منذ 4 ساعة مضت
آخر رد: salah mansour
  [VB.NET] سؤال اسيل1 2 87 13-12-18, 03:27 AM
آخر رد: trakktour
  سؤال فى بحث بالتاريخ احمد خطاب 4 88 12-12-18, 11:53 PM
آخر رد: احمد خطاب
  [سؤال] كيف يتم البحث عن شاشة بالفعل تعمل وتفعيلها لتصبح فوق الجميع dametucorazon 3 83 10-12-18, 05:47 AM
آخر رد: rmnr
Heart سؤال عن حساب السن (العمر) عن طريق تاريخ الميلاد ahmadpal 10 185 07-12-18, 04:52 PM
آخر رد: ahmadpal
  [VB.NET] استفسار :- بخصوص تنزيل الداتا في قاعدة البيانات dubai.eig 0 43 06-12-18, 04:36 PM
آخر رد: dubai.eig
  سؤال بخصوص الكتابة داخل داتا جريد احمد خطاب 3 85 05-12-18, 11:35 AM
آخر رد: احمد خطاب
  مساعدة ضرورية بخصوص برنامج Aminsoft 4 176 04-12-18, 06:40 AM
آخر رد: asemshahen5
  [VB.NET] سؤال عن الداتا جريد فيو M.SOFT 1 67 04-12-18, 04:31 AM
آخر رد: محمد كريّم
Star سؤال بخصوص جدول فاتوره المشتريات ، vb2010 0 65 30-11-18, 08:57 PM
آخر رد: vb2010

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم