Hi Imar,
that's above my head at the moment.
I was thinking of something like
<%@ Page Language="
VB" %>
<%@ 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">
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)
If Not Page.IsPostBack Then
BindGrid()
End If
End Sub
Sub BindGrid()
Dim sSQL As String = "SELECT UserID, Email, IsApproved, IsLockedOut FROM aspnet_Membership;"
Dim sConnString As String = ConfigurationManager.ConnectionStrings("Connection String").ConnectionString
Dim Connection As New SQLConnection(sConnString)
Dim DataAdapter As New SQLDataAdapter(sSQL, Connection)
Dim DataSet As New DataSet()
DataAdapter.Fill(DataSet, "Members")
GridView1.DataSource = DataSet.Tables("Members").DefaultView
GridView1.DataBind()
End Sub
Protected Sub GridView1_RowEditing(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewEditEventArgs)
GridView1.EditIndex = e.NewEditIndex
BindGrid()
End Sub
Protected Sub GridView1_RowCancelingEdit(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewCancelEditEventA rgs)
GridView1.EditIndex = -1
BindGrid()
End Sub
Protected Sub GridView1_RowUpdating(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewUpdateEventArgs)
Dim UserID As String
Dim Email As String
Dim sSQL As String
'ID = Integer.Parse(GridView1.Rows(e.RowIndex).Cells(0). Text)
UserID = GridView1.Rows(e.RowIndex).Cells(0).ToString()
Email = CType(GridView1.Rows(e.RowIndex).Cells(1).Controls (0), TextBox).Text
Dim sConnString As String = ConfigurationManager.ConnectionStrings("Connection String").ConnectionString
Dim Connection As New SQLConnection(sConnString)
Connection.Open()
sSQL = "UPDATE aspnet_Membership set Email=@Email WHERE USERID=@USERID"
Dim Command As New SqlCommand(sSQL, Connection)
Command.Parameters.Add("@USERID", Data.SqlDbType.UniqueIdentifier)
Command.Parameters("@USERID").Value = UserID
Command.Parameters.Add("@Email", Data.SqlDbType.NVarChar)
Command.Parameters("@Email").Value = Email
Command.ExecuteNonQuery()
Connection.Close()
GridView1.EditIndex = -1
BindGrid()
End Sub
Protected Sub GridView1_RowDeleting(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewDeleteEventArgs)
Dim UserID As String
Dim sSQL As String
'ID = Integer.Parse(GridView1.Rows(e.RowIndex).Cells(0). Text)
UserID = GridView1.Rows(e.RowIndex).Cells(0).ToString
Dim sConnString As String = ConfigurationManager.ConnectionStrings("Connection String").ConnectionString
Dim Connection As New SqlConnection(sConnString)
Connection.Open()
sSQL = "DELETE * FROM aspnet_Membership WHERE UserID=@UserID"
Dim Command As New SQLCommand(sSQL, Connection)
Command.Parameters.Add("@USERID", Data.SqlDbType.UniqueIdentifier)
Command.Parameters("@USERID").Value = UserID
Command.ExecuteNonQuery()
Connection.Close()
GridView1.EditIndex = -1
BindGrid()
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id=Head1 runat="server">
<title>Gridview</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:GridView ID=GridView1 runat="server" AutoGenerateColumns="False" OnRowEditing=GridView1_RowEditing OnRowCancelingEdit=GridView1_RowCancelingEdit OnRowUpdating=GridView1_RowUpdating DataKeyNames=UserID OnRowDeleting=GridView1_RowDeleting>
<Columns>
<asp:BoundField DataField="UserID" HeaderText="ID" Readonly="True" />
<asp:BoundField DataField="Email" HeaderText="Email" />
<asp:CommandField ShowEditButton="True" ShowDeleteButton="true" />
</Columns>
</asp:GridView>
</div>
</form>
</body>
</html>
the only problem is that I get an error message
Invalid cast from 'System.String' to 'System.Guid'.
thanks,
Michael.