private static void SetUdt_LengthChecked( SmiEventSink_Default sink, ITypedSettersV3 setters, int ordinal, SmiMetaData metaData, object value ) { if ( ADP.IsNull( value ) ) { setters.SetDBNull( sink, ordinal ); sink.ProcessMessagesAndThrow(); } else { System.IO.Stream target = new SmiSettersStream( sink, setters, ordinal, metaData ); SerializationHelperSql9.Serialize( target, value ); } }
private static void SetXmlReader_Unchecked(SmiEventSink_Default sink, ITypedSettersV3 setters, int ordinal, XmlReader xmlReader) { // set up writer XmlWriterSettings WriterSettings = new XmlWriterSettings(); WriterSettings.CloseOutput = false; // don't close the memory stream WriterSettings.ConformanceLevel = ConformanceLevel.Fragment; WriterSettings.Encoding = System.Text.Encoding.Unicode; WriterSettings.OmitXmlDeclaration = true; System.IO.Stream target = new SmiSettersStream(sink, setters, ordinal, SmiMetaData.DefaultXml); XmlWriter xmlWriter = XmlWriter.Create(target, WriterSettings); // now spool the data into the writer (WriteNode will call Read()) xmlReader.Read(); while (!xmlReader.EOF) { xmlWriter.WriteNode(xmlReader, true); } xmlWriter.Flush(); sink.ProcessMessagesAndThrow(); }
private static void SetSqlXml_Unchecked(SmiEventSink_Default sink, ITypedSettersV3 setters, int ordinal, SqlXml value) { if (value.IsNull) { setters.SetDBNull(sink, ordinal); } else { XmlReader reader = value.CreateReader(); XmlWriterSettings settings = new XmlWriterSettings { CloseOutput = false, ConformanceLevel = ConformanceLevel.Fragment, Encoding = Encoding.Unicode, OmitXmlDeclaration = true }; Stream output = new SmiSettersStream(sink, setters, ordinal, SmiMetaData.DefaultXml); XmlWriter writer = XmlWriter.Create(output, settings); reader.Read(); while (!reader.EOF) { writer.WriteNode(reader, true); } writer.Flush(); } sink.ProcessMessagesAndThrow(); }