<%@ 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>

解决方案 »

  1.   

    第 1 行: '*' 附近有语法错误。 
    说明: 执行当前 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
     
      

  2.   

    selet * from login是select,你写错了