📄 xtglyrk_right_xx.aspx.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 + -