从 SQL Server 2005 中处理 XML
2007-05-13 09:26:22 来源:WEB开发网核心提示: ProviderType: 25 (25 = XML)ProviderSpecificDataType: System.Data.SqlTypes.SqlXmlDataType: System.Xml.XmlReaderDataTypeName:正如任何其他构建到 SQL Server 中
ProviderType: 25 (25 = XML)
ProviderSpecificDataType: System.Data.SqlTypes.SqlXml
DataType: System.Xml.XmlReader
DataTypeName:
正如任何其他构建到 SQL Server 中的类型一样。请注意,此列的“.NET 类型”是 XmlReader,对于 .NET 而言,它就像任何从文件加载或用 XmlDocument 类产生的 XML 一样。在 ADO.NET 2.0 中的存储过程或参数化语句中将 XML 数据类型列用作参数同样简单:
using System;
using System.Data;
using System.Data.SqlClient;
using System.Data.SqlTypes;
using System.Xml;
void AddARow {
// get a connection string from a config file
string s = GetConnectStringFromConfigFile("xmldb");
using (SqlConnection conn = new SqlConnection(s))
using (SqlCommand cmd = new SqlCommand(
"insert xmltab(xmlcol) VALUES(@x)", conn))
{
conn.Open();
cmd.Parameters.Add("@x", SqlDbType.Xml);
// connect the parameter value to a file
XmlReader xr = XmlReader.Create("somexml.xml");
cmd.Parameters[0].Value = new SqlXml(xr);
int i = cmd.ExecuteNonQuery();
}
}
二、是 XML 还是字符串?
前面代码中的两种方法均使用 SqlTypes 中 SQL Server 特定的数据类型。当我使用 SqlReader 的更一般的访问器方法 GetValue() 时,值显著不同。列不是作为 XmlReader 出现,而是作为 .NET String 类出现。请注意,即使元数据将列的 .NET 数据类型识别为 XmlReader,您也不能将该列强制转换为 XmlReader。使用除 GetSqlXml() 之外任何访问器都返回字符串。
- ››sql server自动生成批量执行SQL脚本的批处理
- ››sql server 2008亿万数据性能优化
- ››SQL Server 2008清空数据库日志方法
- ››sqlserver安装和简单的使用
- ››SQL Sever 2008 R2 数据库管理
- ››SQL SERVER无法安装成功,sqlstp.log文件提示[未发...
- ››Sql Server中通过父记录查找出所有关联的子记录
- ››SqlServer触发器、存储过程和函数
- ››SQL Server 中的事务(含义,属性,管理)
- ››Sqlite数据库插入和读取图片数据
- ››Sql server 2005拒绝了对对象 'xx表' (数...
- ››Sql server 2005拒绝了对对象 'xx表' (数...
更多精彩
赞助商链接