c#2005 mssql2005想实现如下要求;
例如存储对象实例进入数据库的xml字段。
然后通过c#还能读回来。最好在数据库端还能搜索对象成员的值。
例如存储对象实例进入数据库的xml字段。
然后通过c#还能读回来。最好在数据库端还能搜索对象成员的值。
解决方案 »
- openfiledialog 问题
- KTV中歌曲置顶效果怎么做?希望能详细点,谢谢了
- 网页中弹出消息对话框
- 请问C Sharp如何将整数(int)转化成字符串(string)
- 请问怎样做 sql未查询到纪录导致c#报错的容错?
- Infragistics控件集和Developer Express控件集哪个好用?
- 在线等待:关于窗体继承中 如何后来新增被继承的窗体?
- Excel 打印报表分页的问题。
- 请问:GDI+中有没有类似GDI中PolyPolygon的函数?多谢指教。
- 请教高手:关于两个类的实例相等的判定
- Web Service 负载均衡
- HttpWebRequest下载页面有些不能正常下载
对象序列化成XML吗?
[Serializable]
对象System.Xml.Serialization.XmlSerializer可以通过Serialize方法序列化,Deserialize反序列化,但是集合要注意,一定要实现ICollection, IEnumerable如自定义的Dictionary要实现以上接口。
<objects>
<object id="1" name="name1">1</object>
<object id="2" name="name2">2</object>
<object id="3" name="name3">3</object>
</objects>
sql中可以这样取id=2的值操作:
declare @myid nvarchar(20)
set @myid = '2'select ObjectXML.value('(/objects/object[@id=sql:variable("@myid")]/name)[1]','nvarchar(200)') from object
c#中也可以操作xml:
string myString = dt.Rows[0][0].ToString();//dt是从数据库取的数据集
XmlDocument myXmlD = new XmlDocument();
myXmlD.LoadXml(myString);
TextBox1.Text = myXmlD.SelectSingleNode("/objects/object[@id='2']/text()").Value;
SELECT @Grade = GradeRes FROM OpenXml(@hDoc,'/Student/Count',1) WITH (GradeRes VARCHAR(30))