DODONG

博客园 首页 新随笔 联系 订阅 管理
//-----------------客户端------------

<script language=vbscript>
        Sub CaseAddSend()
            Set xmlhttp 
= CreateObject("Microsoft.XMLHTTP")
            xmlhttp.open 
"POST","Test.aspx?Type=Add",false
            xmlhttp.Send  xmlApp.xml 
'发送数据
            
                If xmlHTTP.responseXML.SelectNodes(
"/Error").Length>0 Then
                        Msgbox xmlHTTP.responseXML.SelectSingleNode(
"/Error").Text
                Else
                        Msgbox 
"添加成功!" 
                        window.location.reload
                End If
        End Sub
    
</script>

<body MS_POSITIONING="GridLayout">
        
        
<XML id="xmlApp">
            
<M_Company>
                
<Coid></Coid>
                
<EngName></EngName>
                
<LocalName></LocalName>
                
<EngAddress1></EngAddress1>
                
<EngAddress2></EngAddress2>
            
</M_Company>
        
</XML>
        
<form id="Form1" method="post" runat="server">
            
<TABLE class="CmTbl" dataSrc="#xmlApp" cellSpacing="1" cellPadding="2" width="100%" align="center"
                border
="0">
                
<tr>
                    
<td>Coid</td>
                    
<td><input dataFld="Coid" id="Coid" type="text"></td>
                
</tr>
                
<tr>
                    
<td>EngName</td>
                    
<td><input dataFld="EngName" id="EngName" type="text"></td>
                
</tr>
                
<tr>
                    
<td>LocalName
                    
</td>
                    
<td><input dataFld="LocalName" id="LocalName" type="text"></td>
                
</tr>
                
<tr>
                    
<td>EngAddress1
                    
</td>
                    
<td><input dataFld="EngAddress1" id="EngAddress1" type="text"></td>
                
</tr>
                
<tr>
                    
<td>EngAddress2</td>
                    
<td><input dataFld="EngAddress2" id="EngAddress2" type="text"></td>
                
</tr>
                
<TR>
                    
<TD align="center" colSpan="2"><INPUT id="Button2" onclick="CaseAddSend()" type="button" value="增加" name="Submit" runat="server">
                    
</TD>
                
</TR>
            
</TABLE>
//---------.cs------
if(Request.ServerVariables["REQUEST_METHOD"]== "POST")
            
{
            
                Response.Charset
="GB2312";    //页面编码格式
                Response.ContentType = "text/xml";
                
                
//提交CaseUpdate
                if(Request.QueryString["Type"]=="Add")
                
{
                    Config Err 
= new Config() ;
                    
                    XmlDocument XmlDoc
=new XmlDocument();
                    XmlDocument XmlRequest
=new XmlDocument();
                    XmlDocument XmlResponse
=new XmlDocument();
                    XmlRequest.Load(Request.InputStream);        
//提取客户端提交的xml数据
                    try
                    
{
                        Config objSubmit 
= new Config();
                        objSubmit.CaseMainAdd(XmlRequest);

                        
//判断错误    
                        if(Err.ErrAllMessage=="")
                        
{    //如果没错误 返回case号
                            
//XmlResponse.LoadXml("<?xml version=\"1.0\"?><CaseID>" + CaseID.ToString() + "</CaseID>");
                        }

                        
else
                        
{
                            
//如果有错误 返回错误信息
                            XmlResponse.LoadXml("<?xml version=\"1.0\"?><Error>" + Err.ErrAllMessage + "</Error>");
                            Err.ErrReset();                
//复位错误信息
                        }

                        XmlResponse.Save(Response.OutputStream);    

                    }

                    
catch(Exception ex)
                    
{
                        
//Response.Redirect("ErrPage.aspx");
                        throw new ApplicationException(ex.Message);
                    }

                    
finally
                    
{
                        Response.End();
                    }

                }

----config.cs----

public void CaseMainAdd(XmlDocument XmlDoc)
{

SqlCommand command 
= new SqlCommand();
            command.CommandText 
= "SP_MCompanyEdit";
            command.CommandType 
= CommandType.StoredProcedure;
            command.Connection 
= Conn;
            Conn.Open();

            command.Parameters.Add( 
new SqlParameter("@XmlApp",SqlDbType.NVarChar,1000));
            command.Parameters[
"@XmlApp"].Value = XmlDoc.InnerXml.ToString();
            
            command.Parameters.Add( 
new SqlParameter("@Method",SqlDbType.Int));
            command.Parameters[
"@Method"].Value = 2;
            
try
            
{
                command.ExecuteNonQuery();
                Conn.Close();
            }

            
catch(SqlException    ex)
            
{
                
throw new ApplicationException(ex.ToString());
}

}
//------SP_MCompanyEdit.sql-----
IF EXISTS (SELECT * FROM sysobjects WHERE type = 'P' AND name = 'SP_MCompanyEdit')
    BEGIN
        PRINT N
'删除存储过程 SP_MCompanyEdit'
        DROP  Procedure  SP_MCompanyEdit
    END

GO

PRINT N
'生成存储过程 SP_MCompanyEdit'
GO

/******************************************************************************
**        文件: SP_MCompanyEdit.SQL
**        名称: SP_MCompanyEdit
**        功能: 
**        作者: dodong
**        发布: 2006-08-08
**
*******************************************************************************
**        返回值列表
*******************************************************************************
**        返回值:        涵义:
**         -------        -----------------------------------------------------------
**        0            操作成功    
**
**
*******************************************************************************
**        其它说明
*******************************************************************************
**
**
*******************************************************************************
**        修订日志
*******************************************************************************
**        日期:        作者:        修订备注:
**        ----------    --------    -----------------------------------------------
**
******************************************************************************
*/

CREATE Procedure SP_MCompanyEdit

    @XmlApp nVarchar(
1000), --员工信息
    @Method Int                   
--操作,1添加,2修改

WITH ENCRYPTION
AS

    DECLARE @Coid Varchar(
10)          --ID
    DECLARE @EngName Nvarchar(
100)   ---EngName
    DECLARE @LocalName Nvarchar(
100)  ---LocalName
    DECLARE @EngAddress1 NVARCHAR(
300)  ----EngAddress1
    DECLARE @EngAddress2 NVARCHAR(
300)  ----EngAddress2
    
    DECLARE @iXmlApp INT
    
    

    
/**************************************************************************
    **    解析数据
    **************************************************************************
*/

    
--解析XML文件
    EXEC sp_xml_preparedocument @iXmlApp OUTPUT, @XmlApp
    
    
--获取XML中的信息
    SELECT    @Coid
=Coid,@EngName=EngName ,@LocalName = LocalName,@EngAddress1 = EngAddress1,@EngAddress2 = EngAddress2
    FROM    OPENXML (@iXmlApp, 
'/*'2) WITH (
            
                Coid Varchar(
10),
                EngName Nvarchar(
100),
                LocalName Nvarchar(
100),
                EngAddress1 NVARCHAR(
300),
                EngAddress2 NVARCHAR(
300)
            
            )

    
/**************************************************************************
    **    检验数据
    **************************************************************************
*/



    
/**************************************************************************
    **    查询数据
    **************************************************************************
*/



    
/**************************************************************************
    **    更新数据
    **************************************************************************
*/

    
    If @Method
=1        --添加
        
        Begin
            
--If Not Exists(Select * From M_Company Where Coid=@Coid)
            
--Return -1206
            
            
---SELECT * INTO #M_COMPANY  FROM M_COMPANY
            INSERT INTO M_Company
            (
            Engname,
            LocalName,
            EngAddress1,
            EngAddress2
            )
            VALUES
            (
            @EngName,
            @LocalName,
            @EngAddress1,
            @EngAddress2
            )
        End
        
    Else If @Method
=2    --修改
        Begin
            
--判断是否存在
            
            
            Update M_Company 
            Set
             EngName
=@EngName,
             LocalName
=@LocalName,
             EngAddress1
=@EngAddress1,
             EngAddress2
=@EngAddress2
             Where 
             Coid 
= @Coid
            
        End
        
    
--BEGIN TRAN TranQ
    
    
--ROLLBACK TRAN TranQ
    
    
--COMMIT TRAN TranQ

    RETURN 
0

GO

GRANT EXEC ON SP_MCompanyEdit TO PUBLIC

GO
posted on 2006-03-31 11:58  DODONG  阅读(478)  评论(0编辑  收藏  举报