السلام عليكــم ورحمـة الله وبركاتــه ،،
عندى نص هو عبارة عن نص XML كالاتي مثلا
<NewDataSet> <xs:schema id="NewDataSet" xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> <xs:element name="NewDataSet" msdata:IsDataSet="true" msdata:MainDataTable="dtName" msdata:UseCurrentLocale="true"> <xs:complexType> <xs:choice minOccurs="0" maxOccurs="unbounded"> <xs:element name="dtName"> <xs:complexType> <xs:sequence> <xs:element name="ClcId" type="xs:string" minOccurs="0" /> <xs:element name="NoTelService" type="xs:string" minOccurs="0" /> <xs:element name="ClcDtAmount" type="xs:string" minOccurs="0" /> <xs:element name="ClcDtEmpComm" type="xs:string" minOccurs="0" /> <xs:element name="ClcDtInvoiceNo" type="xs:string" minOccurs="0" /> <xs:element name="ClcDtNotic" type="xs:string" minOccurs="0" /> </xs:sequence> </xs:complexType> </xs:element> </xs:choice> </xs:complexType> </xs:element> </xs:schema> <dtName> <ClcId>567</ClcId> <NoTelService>0</NoTelService> <ClcDtAmount>0</ClcDtAmount> <ClcDtEmpComm>0</ClcDtEmpComm> <ClcDtInvoiceNo>0</ClcDtInvoiceNo> </dtName> <dtName> <ClcId>567</ClcId> <NoTelService>1</NoTelService> <ClcDtAmount>1</ClcDtAmount> <ClcDtEmpComm>0.15</ClcDtEmpComm> <ClcDtInvoiceNo>1</ClcDtInvoiceNo> </dtName> </NewDataSet>
وبرسلة لـStored Procedure كالاتي مثلا
CREATE PROCEDURE spInsert @parXml XML As INSERT INTO tbl1(ClcId,NoTelService,ClcDtAmount,ClcDtEmpComm,ClcDtInvoiceNo) SELECT @parXml
بس المشكلة انه بيرسل الخطاء ده
Msg 120, Level 15, State 1, Procedure spInsert, Line 4 The select list for the INSERT statement contains fewer items than the insert list. The number of SELECT values must match the number of INSERT columns
.
انا عارف انه بيقول ان الاعمدة بتاعت select مش نفس العدد بتاعت INSERT، واظن اني مش عارف اتعامل مع نوع اليانات XML عشان كده، ياريت لو حد يقلي Method المناسبة للنوع البيانات xml اللي تحل المشكلة