小平台在C#和VB下用法

 '功能:保存数据
    '参数:dataxml,Userxml
    '返回值:bool
    '创建人:彭松
    '创建时间:2013-12-18
    Function SavUserInfo(ByVal DataXml As String, ByVal UserXml As String) As String

        Dim xmlDOM As New XmlDocument
        Dim xmlDOMUser As New XmlDocument
        Dim xmlNodeList As XmlNodeList
        Dim xmlNodeGUID As XmlNodeList
        Dim intRowCounts As Int16
        '1. 获取并处理实体的数据 (DataXml) 
        MyDB.SaveXml(DataXml)
        xmlDOM.LoadXml(DataXml)



        '2. 获取并处理实体的数据 (UserDataXml)
        If UserXml <> "" And UserXml <> "null" Then
            xmlDOMUser.LoadXml(UserXml)
            xmlNodeList = xmlDOMUser.SelectNodes("myxml/mysub")
            xmlNodeGUID = xmlDOMUser.SelectNodes("myxml/myGUID")
            Dim userGUID As String = xmlNodeGUID(0).InnerText
            intRowCounts = xmlNodeList.Count

            For i As Integer = 0 To intRowCounts - 1
                Dim subGUID As String = xmlNodeList(i).ChildNodes(0).FirstChild.Value
                Dim subName As String = xmlNodeList(i).ChildNodes(1).FirstChild.Value
                Dim passedScore As String = xmlNodeList(i).ChildNodes(2).FirstChild.Value
                Dim score As String = xmlNodeList(i).ChildNodes(3).FirstChild.Value

                '校验是否存在用户填写的成绩比科目的总成绩大
                Dim param = New With {.subguid = subGUID}
                Dim objS As SSubject = CPQuery.From("select top 1 * from [s_subject] where SubGUID=@subguid", param).ToSingle(Of SSubject)()
                If objS.WholeScore < score Then
                    Return "<xml result=""false"" errormessage=""填写数据过大,请与重新填写!""></xml>"
                End If

                '保存用户的考试成绩到s_User2Subject表
                Dim paramOne = New With {.subguid = subGUID, .userguid = userGUID}
                Dim objSub As SSubject = CPQuery.From("select top 1 * from [s_User2Subject] where SubGUID=@subguid and UserGUID=@userguid", paramOne).ToSingle(Of SSubject)()
                If objSub Is Nothing Then
                    Dim strSql As String = "  insert into s_User2Subject (User2SubGUID ,UserGUID ,SubGUID ,Score ) values(NEWID (),@userguid,@subguid,@score)"
                    Dim parameters = New With {.userguid = userGUID, .subguid = subGUID, .score = score}
                    '如果执行出错.ExecuteNonQuery方法将抛出异常.而不是返回-1
                    Try
                        CPQuery.From(strSql, parameters).ExecuteNonQuery()
                        Return "<xml result=""true"" keyvalue=""""></xml>"
                        '执行成功的业务逻辑
                    Catch ex As System.Exception
                        '执行失败的错误处理
                        Return "<xml result=""false"" errormessage=""运行时异常,请与管理员联系!""></xml>"
                    End Try

                End If



            Next

        End If

        Return "<xml result=""true"" keyvalue=""""></xml>"
    End Function

这是vb的保存数据,主要是dataxml,和userxml。其中dataxml可以由appForm自动收集,userxml需要自己解析,然后调用小平台进行保存

posted @ 2013-12-23 14:28  ps十一郎  阅读(268)  评论(0编辑  收藏  举报