国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > C# > 正文

深入C#中使用SqlDbType.Xml類型參數(shù)的使用詳解

2020-01-24 03:18:31
字體:
供稿:網(wǎng)友
在sql server2005以及之后的sql server中引入了Xml數(shù)據(jù)類型,在C#中使用Xml數(shù)據(jù)類型需要指定參數(shù)類型為SqlDbType,參數(shù)值類型需要用SqlXml,如下示例:
假定有一種表A,A表有兩個(gè)字段:ID 類型 int,Data 類型 Xml,我要用C#往表中插入一行記錄:
復(fù)制代碼 代碼如下:

static void InsertA(int aid, string contentXml)
{
//ConnString是連接字符串,需要額外定義
    using (SqlConnection conn = new SqlConnection(ConnString))
    {
        conn.Open();
        string sql = "INSERT INTO [A] ([ID],[Content])VALUES(@id,@content)";
        using (SqlCommand comm = new SqlCommand(sql, conn))
        {
            using (XmlTextReader rdr = new XmlTextReader(contentXml, XmlNodeType.Document, null))
            {
                SqlXml sqlXml = new SqlXml(rdr);

                SqlParameter parmID = new SqlParameter("@id", aid);
                SqlParameter parmContent = new SqlParameter("@content", SqlDbType.Xml, sqlXml.Value.Length);
                parmContent.Value = sqlXml;

                comm.Parameters.Add(parmID);
                comm.Parameters.Add(parmContent);
                comm.ExecuteNonQuery();
            }
        }
        conn.Close();
    }
}

插入數(shù)據(jù)時(shí)需要用SqlXml數(shù)據(jù)類型作為參數(shù)值,但讀出Xml類型數(shù)據(jù)時(shí)的C#數(shù)據(jù)類型是string。如下示例:
復(fù)制代碼 代碼如下:

string GetContent(int id)
{
    string sql = "SELECT [Content] FROM [A] WHERE [ID] = " + id;

    using (SqlConnection conn = new SqlConnection(ConnString))
    {
        conn.Open();
        using (SqlCommand comm = new SqlCommand(sql,conn))
        {
            string xml = (string)comm.ExecuteScalar();
            return xml;
        }
    }
}

需要注意的是,在插入數(shù)據(jù)時(shí)Xml字段的參數(shù)值類型不可以為string,直接用string會(huì)報(bào)編碼錯(cuò)誤異常。
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 开封市| 锦州市| 加查县| 泗水县| 秀山| 通江县| 米脂县| 甘南县| 永春县| 鄯善县| 龙陵县| 山阴县| 宣恩县| 拜城县| 达拉特旗| 兴业县| 景洪市| 腾冲县| 界首市| 大庆市| 佛学| 邓州市| 兴隆县| 灵石县| 石屏县| 普陀区| 城固县| 南康市| 五家渠市| 高碑店市| 师宗县| 峨边| 平利县| 安多县| 曲水县| 潮州市| 玉田县| 福清市| 黔江区| 称多县| 乐都县|