ASP.NET 数据库管理控制

分享于 

9分钟阅读

Web开发

  繁體

登录页面

管理菜单

记录表单

记录列表

为执行数据库驱动的登录,添加,编辑和删除任何类型数据库的操作。

介绍

可以通过以下步骤在 ASP.NET 中创建数据库 控制面板 或者动态网站 控制面板:

  • 首先必须创建一个登录页面,因这里只有管理员用户才能使用用户名和密码登录。
  • 添加新数据:需要使用用户输入,当用户按下保存或者提交按钮时,数据将保存在数据库中。
  • 查看数据:查询数据库并获取必需的结果/记录集,并以某种形式的控件显示。
  • 删除数据:获取记录的列表,然后选择要删除的记录,然后执行删除操作。
  • 修改数据:选择要修改的记录,修改值后,你必须执行查询来更新数据库。

如何与数据库交互

ASP.NET 在 DATA的命名空间下有许多内置的数据库管理对象,其中最常见的是:

  • OleDbConnection: 对不同类型的数据库执行连接功能。
  • OleDbCommand: 执行查询。
  • OleDbDataReader: 获取记录集。
  • DataSet: 从数据库中选择后,将数据存储在内存中,如在记录集中。

现在,我将逐步尝试解释这个应用程序:

登录

我使用 基于表单 认证系统进行安全和访问权限。 我已经添加了一个Web窗体来获取 usernamepassword。 当用户填写这里表单并发送登录信息时,将执行以下代码:

Dim cn AsNew OleDb.OleDbConnectionDim cm AsNew OleDb.OleDbCommandDim dr As OleDb.OleDbDataReaderDim username AsString = txtUsername.TextDim password AsString = txtPassword.TextTry cn.ConnectionString = ConfigurationSettings.AppSettings("ConnectionString")
 cn.Open()
 cm.Connection = cn
 cm.CommandText = "Select * From admin where username='" _
 & username & "' and password='" & password & "'" dr = cm.ExecuteReader()
 'dr.Read()If dr.HasRows Then System.Web.Security.FormsAuthentication.RedirectFromLoginPage(username, False)
 Else lblMsg.Text = "Incorrect username or password!"EndIfCatch ex As Exception
 lblMsg.Text = ex.MessageEndTry

这里解释执行的操作:

首先,我们必须定义 connectioncommand 对象,并且声明两个变量来存储提交表单中的usernamepassword。 启动 try 阻止并从应用程序设置中加载 ConnectionString 值。 在这个之后,如果已经为给定的usernamepassword 选择了一个记录,那么执行查询检查 usernamepassword,这意味着登录信息正确,否则就会显示登录信息错误,或者显示错误的username 或者 passwordSystem.Web.Security.FormsAuthentication.RedirectFromLoginPage(username, False ) 用于告诉 ASP.NET 应用程序,用户提供的登录信息是正确的,因这里用户可以访问安全内容。

管理菜单

主导航系统用于访问不同区域的应用程序。

添加新/编辑记录

使用Web窗体来获取用户的输入,包括内容标题和内容文本。 下面是用于保存数据库中的新记录的代码:

Dim cn AsNew OleDb.OleDbConnectionDim cm AsNew OleDb.OleDbCommandDim title AsString = txtTitle.TextDim content AsString = txtContent.TextTry cn.ConnectionString = "Provider=Microsoft.JET.OLEDB.4.0;" & _
 "Data Source=C:InetpubwwwrootASPNETDBAdminControldatabasedata.mdb" cn.Open()
 cm.Connection = cn
 If Request.QueryString("id") <> ""Then cm.CommandText = "Update Content Set Title='" & _
 title & "', content='" & content & "'" _
 & "Where id=" & Request.QueryString("id")
 lblMsg.Text = "Content Record is updated successfully"Else cm.CommandText = "Insert Into Content (title,content)" _
 & " Values('" & title & "','" & content & "')" lblMsg.Text = "Content Record is inserted successfully"EndIf cm.ExecuteNonQuery()Catch ex As Exception
 lblMsg.Text = ex.MessageEndTry

这些事件基于条件添加新/编辑来执行两个函数。 如果提供了参数 ID,则进行编辑,否则将执行新的添加。 我使用了相同的表单来执行添加新操作和编辑操作。 在 Add,中,通过调用以下命令插入用户输入的信息 插入 在后台查询。如果要执行编辑操作,则表单加载事件将加载选定记录的数据。 在这里 更新 查询被调用。

列出记录/编辑/删除函数

使用数据库控件显示数据库中的记录列表,可以定制这里控件模板以显示所需的格式信息。 下面的代码用于填充表单加载事件的记录,如果给定了 delid 参数,则执行一个检查。

Dim cn AsNew OleDb.OleDbConnectionDim cm AsNew OleDb.OleDbCommandDim dr As OleDb.OleDbDataReaderTry cn.ConnectionString = ConfigurationSettings.AppSettings("ConnectionString")
 cn.Open()
 cm.Connection = cn
 If Request.QueryString("delid") <> ""Then cm.CommandText = "DELETE From Content Where ID=" & _
 Request.QueryString("delid")
 cm.ExecuteNonQuery()
 lblMsg.Text = "Content Deleted:" & Request.QueryString("delid")
 EndIf cm.CommandText = "Select id as ID,title as" & _ 
 " Title,left(content,50) as Content From Content" dr = cm.ExecuteReader()
 DataList1.DataSource = dr
 DataList1.DataBind()Catch ex As Exception
 lblMsg.Text = ex.MessageEndTry

当用户单击 DataList 上的某个选项时,将调用以下代码:

SelectCase e.CommandName
 Case"Edit" Response.Redirect("frmcontent.aspx?id=" & e.CommandArgument)
 Case"Delete"'lblMsg.Text ="Delete:" & e.CommandArgument Response.Redirect("listcontents.aspx?delid=" & e.CommandArgument)EndSelect

如果用户按下编辑,则使用所选记录ID调用 frmcontent,如果按下Delete键,则调用 delete 函数。

关于

这个小型的Web应用程序包含使用 ASP.NET的基本数据库功能,包括数据库驱动的用户身份验证。添加新记录。查看记录。编辑和删除记录。

登录信息

  • 用户名:admin
  • 密码:管理员

配置

根据你的设置更改以下 ConnectionString 值:

<appSettings><addkey="ConnectionString"value="Provider=Microsoft.JET.OLEDB.4.0; 
 Data Source=C:InetpubwwwrootASPNETDBAdminControldatabasedata.mdb"/></appSettings><authenticationmode="Forms"><formsloginUrl="login.aspx"name="DBLogin"/></authentication><!-- AUTHORIZATION 
This section sets the authorization policies 
of the application. You can allow or deny access
to application resources by user or role. 
Wildcards:"*" mean everyone,"?" means anonymous 
(unauthenticated) users.--><authorization><denyusers="?"/><!-- Allow all users --><!-- <allow users="[comma separated list of users]"
roles="[comma separated list of roles]"/>
<deny users="[comma separated list of users]"
roles="[comma separated list of roles]"/>--></authorization>

下一步

在我看来,这是一个非常的compact 应用程序,提供数据库驱动的用户身份验证。登录。 这对于初学者和高级用户来说非常有用,高级用户可以定制这个模板来实现数据库驱动。


控制  asp  asp-net  
相关文章