- PR -

Datasetの値を構造体に入れるには・・・

1
投稿者投稿内容
ten
常連さん
会議室デビュー日: 2003/07/07
投稿数: 24
投稿日時: 2003-07-11 17:33
Visual C#.NETでDatasetの値を構造体に入れたいのですが、どのようにすればよろしいでしょうか。
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2003-07-11 18:50
こんにちは。
引用:

YONEXさんの書き込み (2003-07-11 17:33) より:
Visual C#.NETでDatasetの値を構造体に入れたいのですが、どのようにすればよろしいでしょうか。


DataSetの内容の値を、構造体のメンバに1つずつ代入していきます。
・・・っていうことではなくて、ですか?
一挙に代入・・・はできないですよ。
NYRL
ベテラン
会議室デビュー日: 2003/07/14
投稿数: 90
投稿日時: 2003-07-14 16:35
はじめましてNYRLです。

こんな感じでMemoryStreamを使うと出来るみたいです。
コード:

using System;
using System.Data;
using System.IO;
using System.Xml.Serialization;

public struct Test {
public string name;
public string caption;
}

public class DBTest {
public static void Main(){
Test test = new Test();
test.name = "名前";
test.caption = "プロパティ代入";
//書き出し(構造体->XML)
XmlSerializer serializer = new XmlSerializer(typeof(Test));
Stream outstream = new FileStream("test.xml", FileMode.Create, FileAccess.Write);
serializer.Serialize(outstream, test);
outstream.Close();

DataSet myDS = new DataSet();
//XML読み込み(XMLFile->DataSet)
myDS.ReadXml(new StreamReader("test.xml"), XmlReadMode.InferSchema);

//XMLで保存(DataSet->XMLFile)
Stream mem = new MemoryStream();
myDS.WriteXml(mem, XmlWriteMode.IgnoreSchema);
//読み込み(XML->構造体)
mem.Seek(0, SeekOrigin.Begin); //Seek
XmlSerializer desirializer = new XmlSerializer(typeof(Test));
Test test2 = (Test)desirializer.Deserialize(mem);
mem.Close();

Console.Write(test2.name);
Console.Write(test2.caption);
Console.WriteLine();
}
}



[ メッセージ編集済み 編集者: NYRL 編集日時 2003-07-14 17:00 ]
ten
常連さん
会議室デビュー日: 2003/07/07
投稿数: 24
投稿日時: 2003-07-18 09:26
ありがとうございました。
ちゃんと入れることができました!
1

スキルアップ/キャリアアップ(JOB@IT)