⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 xtglyrk_right_xx.aspx.vb

📁 vb2005电子书籍——vb.net项目开发宝典源码
💻 VB
字号:

Imports System
Imports System.Data
Imports System.Data.SqlClient


Namespace wsbgxt


Partial Class xtglyrk_right_xx
    Inherits System.Web.UI.Page
    Protected WithEvents delkindbutton As System.Web.UI.WebControls.ImageButton
    Public Shared StaticId As Integer

#Region " Web 窗体设计器生成的代码 "

    '该调用是 Web 窗体设计器所必需的。
    <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()

    End Sub

    Private Sub Page_Init(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Init
        'CODEGEN: 此方法调用是 Web 窗体设计器所必需的
        '不要使用代码编辑器修改它。
        InitializeComponent()
    End Sub

#End Region

    Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        '在此处放置初始化页的用户代码()
        If Not IsPostBack Then
            MyDataBind1()
            tiplabel.Visible = False
            myDatagrid2.Visible = False
        End If
    End Sub

    Sub MyDataBind1()
        '重新从数据库中读出所有类型名
    
        Dim myConn As New SqlConnection()
            myConn.ConnectionString = SQL_CONNECTION_STRING '"user id=secs;password=sces;initial catalog=secs;data source=localhost;Connect Timeout=30"
        Try
            myConn.Open()
            Dim myCmdStr As String
            myCmdStr = "SELECT n_xxlxdmb_ent.id, n_xxlxdmb_ent.xxlxmc, n_xxlxdmb_ent.djbbz FROM n_xxlxdmb_ent ORDER BY id"

            '数据源:dataset
            Dim myDataAD As SqlDataAdapter = New SqlDataAdapter(myCmdStr, myConn)
            Dim myDataset As New DataSet
            myDataAD.Fill(myDataset)

            '以下是相关的绑定语句
            myDataGrid1.DataSource = myDataset
            'myDataGrid1.CurrentPageIndex = 0 '当数据条数太多时需要分页
            myDataGrid1.DataBind()
        Catch ex As SqlException
            Status1.Text = ex.Message
        Finally
            myConn.Close()
        End Try
    End Sub

    Sub MyDataBind2(ByVal iXxlxid As Integer)
        '参数传过来类型的id值,在datagrid2中显示该类型的所有信息,并隐藏其id值
        '测试用:
        myDatagrid2.Columns(0).Visible = False
        myDatagrid2.Columns(1).Visible = False

        Dim myConn As New SqlConnection
            myConn.ConnectionString = SQL_CONNECTION_STRING
        Try
            myConn.Open()
            Dim myCmdStr As String
            myCmdStr = "SELECT n_xxdjb_ent.id,n_bmdmb_ent.bmhdwmc,n_yhjbxx_ent.xm,n_xxdjb_ent.fbsj,n_xxdjb_ent.xxbt " + _
                            "FROM n_yhjbxx_ent,n_bmdmb_ent,n_xxdjb_ent " + _
                            "where n_xxdjb_ent.bmhdwid = n_bmdmb_ent.id and " + _
                            "n_xxdjb_ent.fbyhid = n_yhjbxx_ent.id and " + _
                            "n_xxdjb_ent.xxlxid = '" + Trim(CStr(iXxlxid)) + "'" + _
                            " ORDER BY n_xxdjb_ent.id DESC"

            '数据源:dataset
            Dim myDataAD As SqlDataAdapter = New SqlDataAdapter(myCmdStr, myConn)
            Dim myDataset As New DataSet
            myDataAD.Fill(myDataset)

            '以下是相关的绑定语句
            myDatagrid2.DataSource = myDataset

            myDatagrid2.DataBind()

        Catch ex As SqlException
            Status2.Text = ex.Message
        Finally
            myConn.Close()
        End Try
    End Sub

    Sub ClickItem(ByVal objSender As Object, ByVal objArgs As DataGridCommandEventArgs)
        '当按下datagrid中的按钮时,触发下面事件:
        If myDataGrid1.EditItemIndex <> -1 Then
            Status1.Text = "请先退出编辑状态"
            Return
        End If

        '管理该类型的信息 
        If objArgs.CommandSource.CommandName = "MessageOfIt" Then
            myDatagrid2.Visible = True
            tiplabel.Text = CType(objArgs.Item.Cells(0).FindControl("lblXxlxmc"), Label).Text + "的信息管理"
            tiplabel.Visible = True
            Dim iXxlxid As Integer = CInt(myDataGrid1.DataKeys(objArgs.Item.ItemIndex))
            StaticId = iXxlxid
            myDatagrid2.CurrentPageIndex = 0
            MyDataBind2(StaticId)
        End If

        '删除信息类型
        If objArgs.CommandSource.CommandName = "DeleteKind" Then
            '删除类型,则要删除该类型的所有信息
            Dim iXxlxid As Integer = CInt(myDataGrid1.DataKeys(objArgs.Item.ItemIndex))
            Dim sXxlxmc As String = CType(objArgs.Item.Cells(0).FindControl("lblXxlxmc"), Label).Text

            Dim myConn As New SqlConnection
                myConn.ConnectionString = SQL_CONNECTION_STRING
            Try
                myConn.Open()


                '删除信息与部门关系
                Dim myCmdStr3 As String
                myCmdStr3 = "DELETE n_xxybmgx_ent FROM n_xxybmgx_ent INNER JOIN n_xxdjb_ent ON n_xxybmgx_ent.xxid = n_xxdjb_ent.id " + _
                                    " AND n_xxdjb_ent.xxlxid =  '" + Trim(CStr(iXxlxid)) + "'"
                Dim myCmd3 As SqlCommand = New SqlCommand(myCmdStr3, myConn)
                myCmd3.ExecuteNonQuery()

                '删除信息
                Dim myCmdStr2 As String
                myCmdStr2 = "DELETE FROM n_xxdjb_ent WHERE xxlxid = '" + Trim(CStr(iXxlxid)) + "'"
                Dim myCmd2 As SqlCommand = New SqlCommand(myCmdStr2, myConn)
                Dim n As Integer = myCmd2.ExecuteNonQuery()

                '最后是删类型
                Dim myCmdStr1 As String
                myCmdStr1 = "DELETE FROM n_xxlxdmb_ent WHERE n_xxlxdmb_ent.id =  '" + Trim(CStr(iXxlxid)) + "'"
                Dim myCmd1 As SqlCommand = New SqlCommand(myCmdStr1, myConn)
                Dim m As Integer = myCmd1.ExecuteNonQuery()

                If m = 1 Then
                    '刷新datagrid1 
                    '这个时候,可能myDatagrid2中显示的可能是已经删除的,故将其设为不可视。

                    myDatagrid2.Visible = False
                    tiplabel.Visible = False
                    Status1.Text = "成功删除了类型" + Trim(sXxlxmc) + "以及属于其的所有信息!"
                    Status2.Text = ""
                Else
                    Status1.Text = "试图删除类型" + Trim(sXxlxmc) + "以及属于其的所有信息,不成功!"
                    Status2.Text = ""
                End If
            Catch ex As SqlException
                Status1.Text = ex.Message
            Finally
                myConn.Close()
            End Try

            '页相关操作
            If (myDatagrid2.CurrentPageIndex = myDatagrid2.PageCount - 1 And myDatagrid2.CurrentPageIndex > 0) Then
                myDatagrid2.CurrentPageIndex = myDatagrid2.CurrentPageIndex - 1
                MyDataBind2(StaticId)
                If (myDatagrid2.CurrentPageIndex = myDatagrid2.PageCount - 2) Then
                    myDatagrid2.CurrentPageIndex = myDatagrid2.CurrentPageIndex + 1
                    MyDataBind2(StaticId)
                End If
            Else
                MyDataBind2(StaticId)
            End If

            If (myDataGrid1.CurrentPageIndex = myDataGrid1.PageCount - 1 And myDataGrid1.CurrentPageIndex > 0) Then
                myDataGrid1.CurrentPageIndex = myDataGrid1.CurrentPageIndex - 1
                MyDataBind1()
                If (myDataGrid1.CurrentPageIndex = myDataGrid1.PageCount - 2) Then
                    myDataGrid1.CurrentPageIndex = myDataGrid1.CurrentPageIndex + 1
                    MyDataBind1()
                End If
            Else
                MyDataBind1()
            End If
        End If


        '信息列表中的删除该信息
        If objArgs.CommandSource.CommandName = "DeleteMess" Then
            Dim iXxid As Integer = CInt(objArgs.Item.Cells(0).Text)

            Dim myConn As New SqlConnection
                myConn.ConnectionString = SQL_CONNECTION_STRING
            Try
                myConn.Open()

                '删除信息与部门关系
                Dim myCmdStr3 As String
                myCmdStr3 = "DELETE FROM n_xxybmgx_ent WHERE n_xxybmgx_ent.xxid = '" + Trim(CStr(iXxid)) + "'"
                Dim myCmd3 As SqlCommand = New SqlCommand(myCmdStr3, myConn)
                myCmd3.ExecuteNonQuery()

                '删除信息
                Dim myCmdStr1 As String
                myCmdStr1 = "DELETE FROM n_xxdjb_ent WHERE id = '" + Trim(CStr(iXxid)) + "'"
                Dim myCmd1 As SqlCommand = New SqlCommand(myCmdStr1, myConn)
                Dim m As Integer = myCmd1.ExecuteNonQuery()

                If m = 1 Then
                    Status1.Text = ""
                    Status2.Text = "成功删除了所选信息!"
                Else
                    Status2.Text = "0"
                    Status2.Text = "试图删除所选信息,不成功!"
                End If
            Catch ex As SqlException
                Status2.Text = ex.Message
            Finally
                myConn.Close()
            End Try

            If (myDatagrid2.CurrentPageIndex = myDatagrid2.PageCount - 1 And myDatagrid2.CurrentPageIndex > 0) Then
                myDatagrid2.CurrentPageIndex = myDatagrid2.CurrentPageIndex - 1
                MyDataBind2(StaticId)
                If (myDatagrid2.CurrentPageIndex = myDatagrid2.PageCount - 2) Then
                    myDatagrid2.CurrentPageIndex = myDatagrid2.CurrentPageIndex + 1
                    MyDataBind2(StaticId)
                End If
            Else
                MyDataBind2(StaticId)
            End If
        End If
    End Sub

    Sub EditXxlxmc(ByVal objSender As Object, _
    ByVal objArgs As System.Web.UI.WebControls.DataGridCommandEventArgs)
        myDataGrid1.EditItemIndex = objArgs.Item.ItemIndex
        MyDataBind1()
    End Sub

    Sub UpdateXxlxmc(ByVal objSender As Object, _
    ByVal objArgs As System.Web.UI.WebControls.DataGridCommandEventArgs)
        Dim NotSame As Boolean = True
        Dim tbXxlxmc As TextBox = objArgs.Item.Cells(0).Controls(1)
        Dim iXxlxid As Integer = CInt(myDataGrid1.DataKeys(objArgs.Item.ItemIndex))
        Dim sXxlxmc As String = Trim(tbXxlxmc.Text)

        Status1.Text = ""
        Status2.Text = ""
        If sXxlxmc.Length = 0 Then
            Status1.Text = "请先输入类型名称!"
            Return
        End If

        Dim myConn As New SqlConnection
            myConn.ConnectionString = SQL_CONNECTION_STRING
        Try
            myConn.Open()
            Dim myCmdStr As String
            myCmdStr = "SELECT * FROM n_xxlxdmb_ent WHERE " + _
                            "n_xxlxdmb_ent.xxlxmc ='" + sXxlxmc + "' AND " + _
                            "n_xxlxdmb_ent.id <>'" + Trim(CStr(iXxlxid)) + "'"
            Dim myCmd1 As SqlCommand = New SqlCommand(myCmdStr, myConn)
            Dim reader As SqlDataReader = myCmd1.ExecuteReader()

            Do While reader.Read()
                NotSame = False
            Loop
            reader.Close()
            If NotSame Then
                myCmdStr = " UPDATE n_xxlxdmb_ent SET n_xxlxdmb_ent.xxlxmc='" + sXxlxmc + "' WHERE n_xxlxdmb_ent.id='" + Trim(CStr(iXxlxid)) + "'"
                Dim myCmd2 As SqlCommand = New SqlCommand(myCmdStr, myConn)
                Dim n As Integer = myCmd2.ExecuteNonQuery()
                If n = 1 Then
                    Status1.Text = "成功保存了对信息类型的修改!"
                    myDataGrid1.EditItemIndex = -1
                    MyDataBind1()
                Else
                    Status1.Text = "试图修改信息类型不成功!"
                End If
            Else
                Status1.Text = "已存在相同的信息类型名称!"
                sXxlxmc = ""
                tbXxlxmc.Text = ""
            End If
        Catch ex As SqlException
            Status2.Text = ex.Message
        Finally
            myConn.Close()
        End Try

    End Sub

    Sub CancelXxlxmc(ByVal objSender As Object, _
    ByVal objArgs As System.Web.UI.WebControls.DataGridCommandEventArgs)
        myDataGrid1.EditItemIndex = -1
        MyDataBind1()
    End Sub

    Sub ChangeGridPage1(ByVal objSender As Object, ByVal objArgs As DataGridPageChangedEventArgs)
        myDataGrid1.CurrentPageIndex = objArgs.NewPageIndex
        MyDataBind1()
    End Sub

    Sub ChangeGridPage2(ByVal objSender As Object, ByVal objArgs As DataGridPageChangedEventArgs)
        myDatagrid2.CurrentPageIndex = objArgs.NewPageIndex
        MyDataBind2(StaticId)
    End Sub


    Private Sub newkindbutton_Click(ByVal sender As System.Object, ByVal e As System.Web.UI.ImageClickEventArgs) Handles newkindbutton.Click
        Dim NotSame As Boolean = True
        Dim sXxlxmc As String = Trim(tbXxlxmc.Text)
        Dim iDjbbz As Integer

        '不能直接将boolean值转换为int,否则会越界,因为boolean为false时为-1
        If cbDjbbz.Checked Then
            iDjbbz = 1
        Else
            iDjbbz = 0
        End If

        If sXxlxmc.Length = 0 Then
            Status1.Text = "请先输入新增类型名称!"
            Status2.Text = ""
            Return
        End If

        Dim myConn As New SqlConnection
            myConn.ConnectionString = SQL_CONNECTION_STRING
        Try
            myConn.Open()

            '检查是否和已有类型名称一致
            Dim myCmdStr As String = "SELECT * FROM n_xxlxdmb_ent WHERE n_xxlxdmb_ent.xxlxmc='" + sXxlxmc + "'"
            Dim myCmd As SqlCommand = New SqlCommand(myCmdStr, myConn)
            Dim reader As SqlDataReader = myCmd.ExecuteReader()

            Do While reader.Read()
                NotSame = False
            Loop
            reader.Close()

            '插入新类型
            If NotSame Then
                Dim myCmdStr2 As String
                myCmdStr2 = "Insert into n_xxlxdmb_ent(xxlxmc, djbbz) values(" + _
                            "'" + sXxlxmc + "', '" + Trim(CStr(iDjbbz)) + "')"
                Dim myCmd2 As SqlCommand = New SqlCommand(myCmdStr2, myConn)
                Dim n As Integer = myCmd2.ExecuteNonQuery()
                If n = 1 Then
                    Status1.Text = "插入成功新类型" + sXxlxmc + ",请继续!"
                    tbXxlxmc.Text = ""
                    sXxlxmc = ""
                    myConn.Close()
                    MyDataBind1()
                Else
                    Status1.Text = "新增类型" + sXxlxmc + "失败!"
                End If
            Else
                Status1.Text = "已存在相同的信息类型名称!"
                tbXxlxmc.Text = ""
                sXxlxmc = ""
            End If

        Catch ex As SqlException
            Status1.Text = ex.Message
        Finally
            myConn.Close()
        End Try
    End Sub

End Class

End Namespace

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -