<%@ Page Language="VB" Debug ="true" %>
<%@ Import Namespace ="system.data" %>
<%@ Import Namespace ="system.data.sqlclient" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><script runat="server">
Dim conn As SqlConnection
Sub page_load(ByVal sender As Object, ByVal e As EventArgs)
conn = New SqlConnection("server=localhost;database=education;uid=sa;pwd=")
If Not IsPostBack Then
Call binddata()
End If
End Sub
'单击编辑时,执行该事件过程
Sub mydatagrid_edit(ByVal sender As Object, ByVal e As DataGridCommandEventArgs)
mydatagrid.EditItemIndex = CInt(e.Item.ItemIndex)
Call binddata()
End Sub
'单击取消时,执行该事件过程
Sub mydatagrid_cancel(ByVal sender As Object, ByVal e As DataGridCommandEventArgs)
mydatagrid.EditItemIndex = -1
Call binddata()
End Sub
'单击更新时,执行该事件过程
Sub mydatagrid_update(ByVal sender As Object, ByVal e As DataGridCommandEventArgs)
Dim txtid, txtpassword, txtemail
txtid = e.Item.FindControl("theid")
txtpassword = e.Item.FindControl("thepassword")
txtemail = e.Item.FindControl("theemail")
Dim strsql As String
strsql = "update login set u_password=@u_password,u_email=@u_email"
Dim cmd As New SqlCommand(strsql, conn)
cmd.Parameters.Add(New SqlParameter("@u_password", SqlDbType.VarChar, 50))
cmd.Parameters("@u_password").Value = txtpassword.text
cmd.Parameters.Add(New SqlParameter("@u_email", SqlDbType.VarChar, 50))
cmd.Parameters("@u_email").Value = txtemail.text
Try
conn.Open()
cmd.ExecuteNonQuery()
conn.Close()
Catch ex As Exception
message.Text = "发生错误"
End Try
mydatagrid.EditItemIndex = -1
Call binddata()
End Sub
'单击删除时执行该事件过程
Sub mydatagrid_delete(ByVal sender As Object, ByVal e As DataGridCommandEventArgs)
Dim strsql As String
strsql = "delete from login where user_id=" & mydatagrid.DataKeys(CInt(e.Item.ItemIndex))
Dim cmd As New SqlCommand(strsql, conn)
Try
conn.Open()
cmd.ExecuteNonQuery()
conn.Close()
Catch ex As Exception
message.Text = "发生错误,没有正常删除记录"
End Try
mydatagrid.EditItemIndex = -1
Call binddata()
End Sub
'该过程用来分页
Sub mydatagrid_page(ByVal sender As Object, ByVal e As DataGridPageChangedEventArgs)
mydatagrid.CurrentPageIndex = e.NewPageIndex
Call binddata()
End Sub
'该过程用来排序
Sub mydatagrid_sort(ByVal sender As Object, ByVal e As DataGridSortCommandEventArgs)
mysortfield.Text = e.SortExpression
Call binddata()
End Sub
Sub enter_click(ByVal sender As Object, ByVal e As EventArgs)
Call binddata()
End Sub
'数据绑定
Sub binddata()
Dim strsql As String
If Trim(keyword.Text) = "" Or Trim(keyword.Text) = "全部" Then
strsql = "selet * from login"
Else
strsql = "select * from login where u_id like '%" & Trim(keyword.Text) & "%'"
End If
Dim adp As New SqlDataAdapter(strsql, conn)
Dim ds As New DataSet()
adp.Fill(ds, "login")
ds.Tables("login").DefaultView.Sort = mysortfield.Text
mydatagrid.DataSource = ds.Tables("login").DefaultView
mydatagrid.DataBind()
End Sub
</script><html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>无标题页</title>
</head>
<body>
<form id="form1" runat="server">
<div>
请输入关键字:<asp:TextBox ID="keyword" Text="全部" runat="server" />
<asp:Button ID="enter" OnClick="enter_click" Text="查找" runat="server" />
<asp:DataGrid ID="mydatagrid" Width="100%" HeaderStyle-BackColor="#ffffff" OnEditCommand="mydatagrid_edit" OnCancelCommand="mydatagrid_cancel" OnUpdateCommand="mydatagrid_update" OnDeleteCommand="mydatagrid_delete" DataKeyField="user_id" AllowPaging="true" PageSize="5" OnPageIndexChanged="mydatagrid_page" PagerStyle-HorizontalAlign="Right" PagerStyle-Mode ="NextPrev" AllowSorting ="true" OnSortCommand="mydatagrid_sort" AutoGenerateColumns="false" runat="server" >
<Columns >
<asp:BoundColumn HeaderText ="帐号" DataField="u_id" SortExpression="u_id" />
<asp:TemplateColumn HeaderText ="密码" SortExpression ="u_password">
<EditItemTemplate>
<asp:TextBox ID="thepassword" Text='<%# container.dataitem("u_password") %>' runat="server" />
</EditItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText ="邮箱" SortExpression="u_email" >
<EditItemTemplate >
<asp:TextBox ID="theemail" Text='<%# container.dataitem("u_email") %>' runat="server" />
</EditItemTemplate>
</asp:TemplateColumn>
<asp:EditCommandColumn EditText="编辑" CancelText="取消" UpdateText="确定" ItemStyle-Wrap ="false" />
<asp:ButtonColumn Text="删除" CommandName ="delete" ItemStyle-Wrap ="false" />
</Columns>
</asp:DataGrid>
<asp:Label ID="mysortfield" Visible="false" Text="user_id" runat="server" />
<asp:Label ID="message" runat="server" />
</div>
</form>
</body>
</html>
<%@ Import Namespace ="system.data" %>
<%@ Import Namespace ="system.data.sqlclient" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><script runat="server">
Dim conn As SqlConnection
Sub page_load(ByVal sender As Object, ByVal e As EventArgs)
conn = New SqlConnection("server=localhost;database=education;uid=sa;pwd=")
If Not IsPostBack Then
Call binddata()
End If
End Sub
'单击编辑时,执行该事件过程
Sub mydatagrid_edit(ByVal sender As Object, ByVal e As DataGridCommandEventArgs)
mydatagrid.EditItemIndex = CInt(e.Item.ItemIndex)
Call binddata()
End Sub
'单击取消时,执行该事件过程
Sub mydatagrid_cancel(ByVal sender As Object, ByVal e As DataGridCommandEventArgs)
mydatagrid.EditItemIndex = -1
Call binddata()
End Sub
'单击更新时,执行该事件过程
Sub mydatagrid_update(ByVal sender As Object, ByVal e As DataGridCommandEventArgs)
Dim txtid, txtpassword, txtemail
txtid = e.Item.FindControl("theid")
txtpassword = e.Item.FindControl("thepassword")
txtemail = e.Item.FindControl("theemail")
Dim strsql As String
strsql = "update login set u_password=@u_password,u_email=@u_email"
Dim cmd As New SqlCommand(strsql, conn)
cmd.Parameters.Add(New SqlParameter("@u_password", SqlDbType.VarChar, 50))
cmd.Parameters("@u_password").Value = txtpassword.text
cmd.Parameters.Add(New SqlParameter("@u_email", SqlDbType.VarChar, 50))
cmd.Parameters("@u_email").Value = txtemail.text
Try
conn.Open()
cmd.ExecuteNonQuery()
conn.Close()
Catch ex As Exception
message.Text = "发生错误"
End Try
mydatagrid.EditItemIndex = -1
Call binddata()
End Sub
'单击删除时执行该事件过程
Sub mydatagrid_delete(ByVal sender As Object, ByVal e As DataGridCommandEventArgs)
Dim strsql As String
strsql = "delete from login where user_id=" & mydatagrid.DataKeys(CInt(e.Item.ItemIndex))
Dim cmd As New SqlCommand(strsql, conn)
Try
conn.Open()
cmd.ExecuteNonQuery()
conn.Close()
Catch ex As Exception
message.Text = "发生错误,没有正常删除记录"
End Try
mydatagrid.EditItemIndex = -1
Call binddata()
End Sub
'该过程用来分页
Sub mydatagrid_page(ByVal sender As Object, ByVal e As DataGridPageChangedEventArgs)
mydatagrid.CurrentPageIndex = e.NewPageIndex
Call binddata()
End Sub
'该过程用来排序
Sub mydatagrid_sort(ByVal sender As Object, ByVal e As DataGridSortCommandEventArgs)
mysortfield.Text = e.SortExpression
Call binddata()
End Sub
Sub enter_click(ByVal sender As Object, ByVal e As EventArgs)
Call binddata()
End Sub
'数据绑定
Sub binddata()
Dim strsql As String
If Trim(keyword.Text) = "" Or Trim(keyword.Text) = "全部" Then
strsql = "selet * from login"
Else
strsql = "select * from login where u_id like '%" & Trim(keyword.Text) & "%'"
End If
Dim adp As New SqlDataAdapter(strsql, conn)
Dim ds As New DataSet()
adp.Fill(ds, "login")
ds.Tables("login").DefaultView.Sort = mysortfield.Text
mydatagrid.DataSource = ds.Tables("login").DefaultView
mydatagrid.DataBind()
End Sub
</script><html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>无标题页</title>
</head>
<body>
<form id="form1" runat="server">
<div>
请输入关键字:<asp:TextBox ID="keyword" Text="全部" runat="server" />
<asp:Button ID="enter" OnClick="enter_click" Text="查找" runat="server" />
<asp:DataGrid ID="mydatagrid" Width="100%" HeaderStyle-BackColor="#ffffff" OnEditCommand="mydatagrid_edit" OnCancelCommand="mydatagrid_cancel" OnUpdateCommand="mydatagrid_update" OnDeleteCommand="mydatagrid_delete" DataKeyField="user_id" AllowPaging="true" PageSize="5" OnPageIndexChanged="mydatagrid_page" PagerStyle-HorizontalAlign="Right" PagerStyle-Mode ="NextPrev" AllowSorting ="true" OnSortCommand="mydatagrid_sort" AutoGenerateColumns="false" runat="server" >
<Columns >
<asp:BoundColumn HeaderText ="帐号" DataField="u_id" SortExpression="u_id" />
<asp:TemplateColumn HeaderText ="密码" SortExpression ="u_password">
<EditItemTemplate>
<asp:TextBox ID="thepassword" Text='<%# container.dataitem("u_password") %>' runat="server" />
</EditItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText ="邮箱" SortExpression="u_email" >
<EditItemTemplate >
<asp:TextBox ID="theemail" Text='<%# container.dataitem("u_email") %>' runat="server" />
</EditItemTemplate>
</asp:TemplateColumn>
<asp:EditCommandColumn EditText="编辑" CancelText="取消" UpdateText="确定" ItemStyle-Wrap ="false" />
<asp:ButtonColumn Text="删除" CommandName ="delete" ItemStyle-Wrap ="false" />
</Columns>
</asp:DataGrid>
<asp:Label ID="mysortfield" Visible="false" Text="user_id" runat="server" />
<asp:Label ID="message" runat="server" />
</div>
</form>
</body>
</html>
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.Data.SqlClient.SqlException: 第 1 行: '*' 附近有语法错误。源错误:
行 83: Dim adp As New SqlDataAdapter(strsql, conn)
行 84: Dim ds As New DataSet()
行 85: adp.Fill(ds, "login")
行 86: ds.Tables("login").DefaultView.Sort = mysortfield.Text
行 87: mydatagrid.DataSource = ds.Tables("login").DefaultView