Re: How to turn a string into an ADO.Stream?
код для вставкиRe: How to turn a string into an ADO.Stream? Re: How to turn a string into an ADO.Stream? Source: http://www.techв€’archive.net/Archive/Data/microsoft.public.data.ado/2005в€’09/msg00115.html • From: "Mark J. McGinty" <mmcginty@xxxxxxxxxxxxxxx> • Date: Mon, 26 Sep 2005 11:49:19 в€’0700 "John Mark Howell" <jmarkhowell@xxxxxxxxxxx> wrote in message news:OaOEiyqwFHA.2312@xxxxxxxxxxxxxxxxxxxxxxx > I'm stuck. I can turn a string into an ADO.Stream by writing it out to a > file and then using the ADO.Stream.LoadFromFile but I would like to not > have > to write it out to a file. Anybody can help with either the VB.Net code > or > the C# code. Any help at all would be greatly appreciated!!! > > Here is both the C# and the VB.Net code. The VB.Net code does not get an > error but does not load the CDO.Message object with anything. I can dump > the stream (so.ToString()) and see that the buffer does indeed have > something, but the CDO.Message.DataSource does not seem to recognize that > it > is at the beginning of the stream. So, other than a ".Position = 0", if > someone can help be find a way to get the stream to be reset to an unread > state would be a great help. > > The C# code gets an error on the "WriteText" line saying that "Operation > is > not allowed when the object is open". However, when you comment out the > ".Open" command you get "Operation is not allowed when the object is > closed". > > > ' VB.Net Code: > > Public Sub TestWithString(ByVal buf As String) > ' now build the ADODB.Stream object > Dim so As New ADODB.Stream > so.Mode = ConnectModeEnum.adModeReadWrite > so.Type = StreamTypeEnum.adTypeText > so.Open() > so.WriteText(buf, StreamWriteEnum.adWriteLine) > ' reset the position in the stream > so.Position = 0 > ' now build the CDO message > Dim msg As New CDO.Message Re: How to turn a string into an ADO.Stream? 1 Re: How to turn a string into an ADO.Stream? > msg.DataSource.OpenObject(so, "_Stream") > Console.WriteLine(msg.TextBody) > End Sub Can't you just assign msg.TextBody = so.ReadText()? (Returns a string type) в€’Mark > // C# Code: > public void TestUsingStringOnly(String msgText) >{ > Console.WriteLine(">> TestUsingStringOnly is beginning.\n"); > ADODB.StreamClass stream = new ADODB.StreamClass(); > stream.Open(Missing.Value, ADODB.ConnectModeEnum.adModeUnknown, > ADODB.StreamOpenOptionsEnum.adOpenStreamUnspecified, "", ""); > stream.Type = ADODB.StreamTypeEnum.adTypeText; > stream.Mode = ADODB.ConnectModeEnum.adModeReadWrite; > stream.WriteText(msgText, ADODB.StreamWriteEnum.adWriteLine); > stream.Position = 0; > CDO.Message msg = new CDO.MessageClass(); > msg.DataSource.OpenObject(stream, "_Stream"); > // test the message > Console.Write("TextBody: "); > Console.WriteLine(msg.TextBody); > Console.WriteLine("<< TestUsingStringOnly is finished.\n\n"); >} > > . • Followв€’Ups: ♦ Re: How to turn a string into an ADO.Stream? в—Љ From: John Mark Howell • References: ♦ How to turn a string into an ADO.Stream? в—Љ From: John Mark Howell • Prev by Date: Re: how to know wat is the data source name. • Next by Date: Re: How to turn a string into an ADO.Stream? • Previous by thread: How to turn a string into an ADO.Stream? • Next by thread: Re: How to turn a string into an ADO.Stream? • Index(es): ♦ Date Re: How to turn a string into an ADO.Stream? 2 Re: How to turn a string into an ADO.Stream? ♦ Thread Re: How to turn a string into an ADO.Stream? 3
1/--страниц