Poblema dataset partendo da sql CE

mercoledì 20 dicembre 2006 - 13.52

PaoloP Profilo | Newbie

buon giorno a tutti ...

sono alle prese acora con un problema su una applicazione c#.net 2003 che
lavora su un palmare windows ce 4.1

nel mio palmare ho una tabella creata in questa maniera

// Creazione Tabella Mat_Pri_story
SqlCeCommand cmd_6 = conn.CreateCommand ();
SqlCrea = "";
SqlCrea = "CREATE TABLE Mat_Pri_story (";
SqlCrea += "Matps_codart INT, ";
SqlCrea += "Matps_Progressivo INT, ";
SqlCrea += "Matps_Peso NUMERIC(13,5) , "
SqlCrea += "Matps_descr_scarico NCHAR(255), ";
SqlCrea += "Matps_tipo_scarico NCHAR(1), ";
SqlCrea += "Matps_data_mov DATETIME, ";
SqlCrea += "MatpS_Articolo_lavoro INT, ";
SqlCrea += "Matps_Lotto_Lavoro INT, ";
SqlCrea += "Matps_Progressivo_Lavoro INT, ";
SqlCrea += "Matps_Peso_Controllato NCHAR(1)) ";
cmd_6.CommandText = SqlCrea;
cmd_6.ExecuteNonQuery();

come gia rudy mi ha detto ieri la tabella è creata in modo regolare !!!

tamite la suddetta applicazione (c# .net 2003) vado a popolare tale tabella
con la storia delle materie prime.

in un caso in particolare quando il peso e molto piccolo nascono i problemi
( che a quanto ho visto non dipendono dal webservice che utilizzo per
portare i dati dal palmare al server)

il campo matps_peso è uguale a 0.00005 .

per portare i miei dati sul server mi creo un dataset con la tabella
mat_pri_story
tale dataset verra poi utilizzato sul webservice

DataSet dsMat_Pri_Story = new DataSet();
da_Mat_Pri_Story.Fill(dsMat_Pri_Story,"MAT_PRI_STORY");

in questa maniera mi creo due file sul palmare (il primo con i dati
effettivi xml , il secondo con lo schema xsd)
e qui che secondo me la cosa non funziona

dsMat_Pri_Story.WriteXml("mat_pri_story.xml");
dsMat_Pri_Story.WriteXmlSchema("mat_pri_story.xsd");

riporto fedelmente il listato dei due file sopra citati


file xlm (notate il campo MATPS_PESO = 5E-05)


<?xml version="1.0" standalone="yes" ?>
- <NewDataSet>
- <MAT_PRI_STORY>
<Matps_codart>95</Matps_codart>
<Matps_Progressivo>1</Matps_Progressivo>
<Matps_Peso>5E-05</Matps_Peso>
<Matps_descr_scarico>LAV.PROD. JU:NIT CARE SH.COLOR-PRO
[00479/18291/00423]</Matps_descr_scarico>
<Matps_tipo_scarico>3</Matps_tipo_scarico>
<Matps_data_mov>2006-12-19T00:00:00.0000000+01:00</Matps_data_mov>
<MatpS_Articolo_lavoro>479</MatpS_Articolo_lavoro>
<Matps_Lotto_Lavoro>18291</Matps_Lotto_Lavoro>
<Matps_Progressivo_Lavoro>423</Matps_Progressivo_Lavoro>
<Matps_Peso_Controllato>S</Matps_Peso_Controllato>
</MAT_PRI_STORY
</NewDataSet>

FILE XSD (notate il campo Matps_peso e definito come decilame)


<?xml version="1.0" standalone="yes" ?>
- <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:Locale="it-IT">
- <xs:complexType>
- <xs:choice maxOccurs="unbounded">
- <xs:element name="MAT_PRI_STORY">
- <xs:complexType>
- <xs:sequence>
<xs:element name="Matps_codart" type="xs:int" minOccurs="0" />
<xs:element name="Matps_Progressivo" type="xs:int" minOccurs="0" />
<xs:element name="Matps_Peso" type="xs:decimal" minOccurs="0" />
<xs:element name="Matps_descr_scarico" type="xs:string" minOccurs="0" />
<xs:element name="Matps_tipo_scarico" type="xs:string" minOccurs="0" />
<xs:element name="Matps_data_mov" type="xs:dateTime" minOccurs="0" />
<xs:element name="MatpS_Articolo_lavoro" type="xs:int" minOccurs="0" />
<xs:element name="Matps_Lotto_Lavoro" type="xs:int" minOccurs="0" />
<xs:element name="Matps_Progressivo_Lavoro" type="xs:int" minOccurs="0" />
<xs:element name="Matps_Peso_Controllato" type="xs:string" minOccurs="0"
/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:choice>
</xs:complexType>
</xs:element>
</xs:schema>

e qui l'intoppo , facendo il debug dell'applicazione e del webservice
quando si verifica questa particolare situazione
il programma non arriva proprio al webservice ma mi ritorna un errore
probabilmente perche la notazione scentifica cozza con un campo decimal.

questo è l'errore

error in XML document (1, 1652). --> Input string was not in a correct
format.

questo è quanto , scusate se sono stato cosi prolisso nello spiegare ..
se quancuno sa di bug o altre questione .. lo prego vivamente di
aiutarmi


Grazie 1000

Paolo
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5