XMLHttp客户端操作数据

本文介绍了一个使用ASP.NET实现客户端与服务器端通过XML数据交互的案例,具体包括客户端表单数据收集、服务器端数据处理及反馈结果的返回等过程。
None.gif//-----------------客户端------------
None.gif

None.gif
<script language=vbscript>
None.gif        Sub CaseAddSend()
None.gif            Set xmlhttp 
= CreateObject("Microsoft.XMLHTTP")
None.gif            xmlhttp.open 
"POST","Test.aspx?Type=Add",false
None.gif            xmlhttp.Send  xmlApp.xml 
'发送数据
None.gif
            
None.gif                If xmlHTTP.responseXML.SelectNodes(
"/Error").Length>0 Then
None.gif                        Msgbox xmlHTTP.responseXML.SelectSingleNode(
"/Error").Text
None.gif                Else
None.gif                        Msgbox 
"添加成功!" 
None.gif                        window.location.reload
None.gif                End If
None.gif        End Sub
None.gif    
</script>
None.gif
None.gif
<body MS_POSITIONING="GridLayout">
None.gif        
None.gif        
<XML id="xmlApp">
None.gif            
<M_Company>
None.gif                
<Coid></Coid>
None.gif                
<EngName></EngName>
None.gif                
<LocalName></LocalName>
None.gif                
<EngAddress1></EngAddress1>
None.gif                
<EngAddress2></EngAddress2>
None.gif            
</M_Company>
None.gif        
</XML>
None.gif        
<form id="Form1" method="post" runat="server">
None.gif            
<TABLE class="CmTbl" dataSrc="#xmlApp" cellSpacing="1" cellPadding="2" width="100%" align="center"
None.gif                border
="0">
None.gif                
<tr>
None.gif                    
<td>Coid</td>
None.gif                    
<td><input dataFld="Coid" id="Coid" type="text"></td>
None.gif                
</tr>
None.gif                
<tr>
None.gif                    
<td>EngName</td>
None.gif                    
<td><input dataFld="EngName" id="EngName" type="text"></td>
None.gif                
</tr>
None.gif                
<tr>
None.gif                    
<td>LocalName
None.gif                    
</td>
None.gif                    
<td><input dataFld="LocalName" id="LocalName" type="text"></td>
None.gif                
</tr>
None.gif                
<tr>
None.gif                    
<td>EngAddress1
None.gif                    
</td>
None.gif                    
<td><input dataFld="EngAddress1" id="EngAddress1" type="text"></td>
None.gif                
</tr>
None.gif                
<tr>
None.gif                    
<td>EngAddress2</td>
None.gif                    
<td><input dataFld="EngAddress2" id="EngAddress2" type="text"></td>
None.gif                
</tr>
None.gif                
<TR>
None.gif                    
<TD align="center" colSpan="2"><INPUT id="Button2" onclick="CaseAddSend()" type="button" value="增加" name="Submit" runat="server">
None.gif                    
</TD>
None.gif                
</TR>
None.gif            
</TABLE>
None.gif//---------.cs------
None.gif
if(Request.ServerVariables["REQUEST_METHOD"]== "POST")
ExpandedBlockStart.gifContractedBlock.gif            
dot.gif{
InBlock.gif            
InBlock.gif                Response.Charset
="GB2312";    //页面编码格式
InBlock.gif
                Response.ContentType = "text/xml";
InBlock.gif                
InBlock.gif                
//提交CaseUpdate
InBlock.gif
                if(Request.QueryString["Type"]=="Add")
ExpandedSubBlockStart.gifContractedSubBlock.gif                
dot.gif{
InBlock.gif                    Config Err 
= new Config() ;
InBlock.gif                    
InBlock.gif                    XmlDocument XmlDoc
=new XmlDocument();
InBlock.gif                    XmlDocument XmlRequest
=new XmlDocument();
InBlock.gif                    XmlDocument XmlResponse
=new XmlDocument();
InBlock.gif                    XmlRequest.Load(Request.InputStream);        
//提取客户端提交的xml数据
InBlock.gif
                    try
ExpandedSubBlockStart.gifContractedSubBlock.gif                    
dot.gif{
InBlock.gif                        Config objSubmit 
= new Config();
InBlock.gif                        objSubmit.CaseMainAdd(XmlRequest);
InBlock.gif
InBlock.gif                        
//判断错误    
InBlock.gif
                        if(Err.ErrAllMessage=="")
ExpandedSubBlockStart.gifContractedSubBlock.gif                        
dot.gif{    //如果没错误 返回case号
InBlock.gif                            
//XmlResponse.LoadXml("<?xml version=\"1.0\"?><CaseID>" + CaseID.ToString() + "</CaseID>");
ExpandedSubBlockEnd.gif
                        }

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

InBlock.gif                        XmlResponse.Save(Response.OutputStream);    
InBlock.gif
ExpandedSubBlockEnd.gif                    }

InBlock.gif                    
catch(Exception ex)
ExpandedSubBlockStart.gifContractedSubBlock.gif                    
dot.gif{
InBlock.gif                        
//Response.Redirect("ErrPage.aspx");
InBlock.gif
                        throw new ApplicationException(ex.Message);
ExpandedSubBlockEnd.gif                    }

InBlock.gif                    
finally
ExpandedSubBlockStart.gifContractedSubBlock.gif                    
dot.gif{
InBlock.gif                        Response.End();
ExpandedSubBlockEnd.gif                    }

ExpandedSubBlockEnd.gif                }

InBlock.gif
None.gif----config.cs----
None.gif
None.gif
public void CaseMainAdd(XmlDocument XmlDoc)
ExpandedBlockStart.gifContractedBlock.gif
dot.gif{
InBlock.gif
InBlock.gifSqlCommand command 
= new SqlCommand();
InBlock.gif            command.CommandText 
= "SP_MCompanyEdit";
InBlock.gif            command.CommandType 
= CommandType.StoredProcedure;
InBlock.gif            command.Connection 
= Conn;
InBlock.gif            Conn.Open();
InBlock.gif
InBlock.gif            command.Parameters.Add( 
new SqlParameter("@XmlApp",SqlDbType.NVarChar,1000));
InBlock.gif            command.Parameters[
"@XmlApp"].Value = XmlDoc.InnerXml.ToString();
InBlock.gif            
InBlock.gif            command.Parameters.Add( 
new SqlParameter("@Method",SqlDbType.Int));
InBlock.gif            command.Parameters[
"@Method"].Value = 2;
InBlock.gif            
try
ExpandedSubBlockStart.gifContractedSubBlock.gif            
dot.gif{
InBlock.gif                command.ExecuteNonQuery();
InBlock.gif                Conn.Close();
ExpandedSubBlockEnd.gif            }

InBlock.gif            
catch(SqlException    ex)
ExpandedSubBlockStart.gifContractedSubBlock.gif            
dot.gif{
InBlock.gif                
throw new ApplicationException(ex.ToString());
ExpandedSubBlockEnd.gif}

ExpandedBlockEnd.gif}
None.gif//------SP_MCompanyEdit.sql-----
None.gif
IF EXISTS (SELECT * FROM sysobjects WHERE type = 'P' AND name = 'SP_MCompanyEdit')
None.gif    BEGIN
None.gif        PRINT N
'删除存储过程 SP_MCompanyEdit'
None.gif        DROP  Procedure  SP_MCompanyEdit
None.gif    END
None.gif
None.gifGO
None.gif
None.gifPRINT N
'生成存储过程 SP_MCompanyEdit'
None.gifGO
None.gif
ExpandedBlockStart.gifContractedBlock.gif
/**//******************************************************************************
InBlock.gif**        文件: SP_MCompanyEdit.SQL
InBlock.gif**        名称: SP_MCompanyEdit
InBlock.gif**        功能: 
InBlock.gif**        作者: dodong
InBlock.gif**        发布: 2006-08-08
InBlock.gif**
InBlock.gif*******************************************************************************
InBlock.gif**        返回值列表
InBlock.gif*******************************************************************************
InBlock.gif**        返回值:        涵义:
InBlock.gif**         -------        -----------------------------------------------------------
InBlock.gif**        0            操作成功    
InBlock.gif**
InBlock.gif**
InBlock.gif*******************************************************************************
InBlock.gif**        其它说明
InBlock.gif*******************************************************************************
InBlock.gif**
InBlock.gif**
InBlock.gif*******************************************************************************
InBlock.gif**        修订日志
InBlock.gif*******************************************************************************
InBlock.gif**        日期:        作者:        修订备注:
InBlock.gif**        ----------    --------    -----------------------------------------------
InBlock.gif**
ExpandedBlockEnd.gif******************************************************************************
*/

None.gifCREATE Procedure SP_MCompanyEdit
None.gif
None.gif    @XmlApp nVarchar(
1000), --员工信息
None.gif    @Method Int                   
--操作,1添加,2修改
None.gif
None.gifWITH ENCRYPTION
None.gifAS
None.gif
None.gif    DECLARE @Coid Varchar(
10)          --ID
None.gif    DECLARE @EngName Nvarchar(
100)   ---EngName
None.gif    DECLARE @LocalName Nvarchar(
100)  ---LocalName
None.gif    DECLARE @EngAddress1 NVARCHAR(
300)  ----EngAddress1
None.gif    DECLARE @EngAddress2 NVARCHAR(
300)  ----EngAddress2
None.gif    
None.gif    DECLARE @iXmlApp INT
None.gif    
None.gif    
None.gif
ExpandedBlockStart.gifContractedBlock.gif    
/**//**************************************************************************
InBlock.gif    **    解析数据
ExpandedBlockEnd.gif    **************************************************************************
*/

None.gif    
--解析XML文件
None.gif    EXEC sp_xml_preparedocument @iXmlApp OUTPUT, @XmlApp
None.gif    
None.gif    
--获取XML中的信息
None.gif    SELECT    @Coid
=Coid,@EngName=EngName ,@LocalName = LocalName,@EngAddress1 = EngAddress1,@EngAddress2 = EngAddress2
None.gif    FROM    OPENXML (@iXmlApp, 
'/*'2) WITH (
None.gif            
None.gif                Coid Varchar(
10),
None.gif                EngName Nvarchar(
100),
None.gif                LocalName Nvarchar(
100),
None.gif                EngAddress1 NVARCHAR(
300),
None.gif                EngAddress2 NVARCHAR(
300)
None.gif            
None.gif            )
None.gif
ExpandedBlockStart.gifContractedBlock.gif    
/**//**************************************************************************
InBlock.gif    **    检验数据
ExpandedBlockEnd.gif    **************************************************************************
*/

None.gif
None.gif
ExpandedBlockStart.gifContractedBlock.gif    
/**//**************************************************************************
InBlock.gif    **    查询数据
ExpandedBlockEnd.gif    **************************************************************************
*/

None.gif
None.gif
ExpandedBlockStart.gifContractedBlock.gif    
/**//**************************************************************************
InBlock.gif    **    更新数据
ExpandedBlockEnd.gif    **************************************************************************
*/

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

转载于:https://www.cnblogs.com/DODONG/archive/2006/03/31/363422.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值