打印本文 打印本文 关闭窗口 关闭窗口
SQLServer2000的OpenXML特性
作者:武汉SEO闵涛  文章来源:敏韬网  点击数3728  更新时间:2009/4/22 23:21:26  文章录入:mintao  责任编辑:mintao
,为了简便起见,我们就用一个String变量来摸拟XML文档:

         public string GetXmlString(ArchiveDetail myMsg,string[] useridList)

         {

              string xml="<?xml version=\"1.0\" encoding=\"gb2312\" ?>";

              xml+="<ArchiveMsg ";

              xml+="Title=\""+myMsg.Title+"\" ";

              xml+="UserID=\""+myMsg.UserID+"\" ";

              xml+="Author=\""+myMsg.Author+"\" ";

              xml+="SendTime=\""+myMsg.SendTime.ToString()+"\" ";

              xml+="Department=\""+myMsg.Department+"\" ";

              xml+="AttachFile=\""+myMsg.AttachFilepath+"\" ";

              xml+="ReceiveList=\""+myMsg.ReceiveList+"\" ";

              xml+="Body=\""+myMsg.Body+"\">";

              foreach(string i in useridList)

              {

                   xml+="<MsgList UserID=\""+i+"\"/>";

              }

              xml+="</ArchiveMsg>";

              return xml;

         }

然后就是调用这个存储过程的函数:

         public bool SendArchiveMsg(ArchiveDetail myMsg,string[] useridList)

         {

              string xml=this.GetXmlString(myMsg,useridList);

              try

              {

                   SqlParameter[] prams={                                           data.MakeInParam("@xml",SqlDbType.VarChar,8000,xml)                              

                            };

SqlConnection con = new

 SqlConnection("server=127.0.0.1;uid=sa;pwd=sa;database=mydatabase");

              con.Open();

 

              SqlCommand cmd = new SqlCommand("upArchiveMsgInsertMsg", con);

              cmd.CommandType = CommandType.StoredProcedure;

              foreach (SqlParameter parameter in prams)

                       cmd.Parameters.Add(parameter);

 

              cmd.Parameters.Add(

              new SqlParameter("ReturnValue", SqlDbType.Int, 4,

         &n

上一页  [1] [2] [3] [4]  下一页

打印本文 打印本文 关闭窗口 关闭窗口