微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

.NET SQLServer2005 XML字段

//这是添加 

private void button1_Click(object sender,EventArgs e)
        {
            string s = "Persist Security Info=False;Integrated Security=sspI;database=IIntegration;server=(local)";
            using (sqlConnection conn = new sqlConnection(s))
            {
                using (sqlCommand cmd1 = new sqlCommand("INSERT testxml VALUES(@ID,@XmlData)",conn))
                {
                    conn.open();

                    cmd1.Parameters.Add("@ID",sqlDbType.Int,4);
                    cmd1.Parameters[0].Value = 2;

                    cmd1.Parameters.Add("@XmlData",sqlDbType.Xml);

                    cmd1.Parameters[1].Value = GetXmlData();


                    cmd1.ExecuteNonQuery();

                 
                }
            }
        }

        private sqlXml GetXmlData()
        {
            DataTable dt = new DataTable("B_Quality");

            dt.Columns.Add("Q_Name",typeof(string));

            dt.Columns.Add("Q_Symbol",typeof(string));

            dt.Columns.Add("Q_Value",typeof(string));

            DaTarow dr = dt.NewRow();

            dr["Q_Name"] = "水分";
            dr["Q_Symbol"] = ">";
            dr["Q_Value"] = "15";

            dt.Rows.Add(dr);

            MemoryStream ms = new MemoryStream();

            dt.WriteXml(ms); //,XmlWriteMode.WriteSchema
          
            return new sqlXml(ms);

 

//
        }

 

//查看

 string s = "Persist Security Info=False;Integrated Security=sspI;database=IIntegration;server=(local)";
            using (sqlConnection conn = new sqlConnection(s))
            {
                using (sqlCommand cmd1 = new sqlCommand("SELECT * FROM testxml",conn))
                {
                    conn.open();

                    sqlDataReader sdr = cmd1.ExecuteReader();

                    //DataTable dt = sdr.GetSchemaTable();

                    DataTable dt = new DataTable();

                    if (sdr.Read())
                    {
                        sqlXml sql = sdr.GetsqlXml(1);

                        XmlReader xr = sql.CreateReader();

                        dt.readxml(xr);
                       
                    }


                    this.dataGridView1.AutoGenerateColumns = true;

                    this.bindingSource1.DataSource = dt;

                   
                }
            }

 

很简单,参照下面的微软代码

 using (sqlConnection conn = new sqlConnection(s))

            {

                using (sqlCommand cmd1 = new sqlCommand("INSERT xmltab(xmlcol) VALUES(@x)",conn))

                using (sqlCommand cmd2 = new sqlCommand(" insert_xml",conn))

                {

                    string str = "<somedoc/>";

 

                    conn.open();

 

                    // server-side conversion

                    cmd1.Parameters.Add("@x",sqlDbType.NVarChar);

                    cmd1.Parameters[0].Value = str;

                    cmd1.ExecuteNonQuery();

 

                    // client-side conversion works too

                    cmd2.CommandType = CommandType.StoredProcedure;

                    cmd2.Parameters.Add("@x",sqlDbType.Xml);

                    cmd2.Parameters[0].Value = s;

                    cmd2.ExecuteNonQuery();

                }

}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐