使用 ASP.NET (VB.NET) 将文本框字段与服务器端数据库进行比较
Compare Text Box field to Server-side DB using ASP.NET (VB.NET)
我目前正在开发一个报价系统,该系统将 运行 带有网络表单前端,并使用服务器上的数据库进行填充 (ASP.NET)。
我相当了解数据库的工作方式以及如何编写 HTML/CSS 但在通过 运行ning VB.NET 在服务器上使用代码隐藏将两者链接在一起方面仍然是一个新手.
到目前为止,我已经创建了一个 .aspx 页面并使用下面的代码创建了我的表单:
<form id="LoginForm" runat="server" method="post">
<div class="row email">
<asp:TextBox ID="email" placeholder="Email" TextMode="Email" runat="server"></asp:TextBox>
</div>
<div class="row pass">
<asp:TextBox ID="password" placeholder="Password" TextMode="Password" runat="server"></asp:TextBox>
</div>
<asp:Button ID="submit" runat="server" Text="Submit" OnClick="submit_Click" />
</form>
我有一个数据库,我想将电子邮件和密码与服务器上的进行比较。我知道这需要点击,但最简单的方法是什么?
到目前为止,我已经链接 "CodeBehind" 和一个准备
的子
Protected Sub submit_Click(sender As Object, e As EventArgs) Handles submit.Click
据我所知,我需要打开一个数据库连接?使用 ADO?以某种方式实现 SQL 查询?
各种论坛和网站上有很多这样的术语,但对于像我这样的初学者来说,它们的作用或交互方式有很多详细信息。任何关于采取什么基本方法的帮助都会很棒,或者任何指向解释所有这些的网站的链接也很棒。它不需要非常安全,因为这个项目更多的是用于学习目的,而不是一个强大的系统。
注意:我确实在 Access 上生成了一个类似的表单,我将文本框字段视为变量,运行 一个 SQL 查询与它们在里面。如果正确则允许访问,如果错误则要求用户重试。这会是类似的方法吗?
这是一个简单的示例,说明如何执行此操作,还有其他各种方法,例如使用 ASP.NET Memberhsip
提供程序:
Protected Sub submit_Click(sender As Object, e As EventArgs) Handles submit.Click
Dim sql = "SELECT u.* FROM dbo.Users u WHERE u.UserName=@Username AND u.PassWord=@Password"
Using con As New SqlConnection(My.Settings.ConnectionString)
Using cmd As New SqlCommand(sql, con)
cmd.Parameters.Add("@Username", SqlDbType.VarChar, 100).Value = email.Text
cmd.Parameters.Add("@Password", SqlDbType.VarChar, 50).Value = password.Text
con.Open()
Using rd = cmd.ExecuteReader()
Dim userExists As Boolean = rd.HasRows
If userExists Then
While rd.Read()
Dim dateBirth = rd.GetDateTime(rd.GetOrdinal("DateOfBirth"))
' .... '
End While
End If
End Using
End Using
End Using
End Sub
您也可以使用 SqlDataAdapter
来填充 DataTable
。实现 User
class 并使用上面的循环填充 List(Of User)
.
也是一个好主意
我目前正在开发一个报价系统,该系统将 运行 带有网络表单前端,并使用服务器上的数据库进行填充 (ASP.NET)。
我相当了解数据库的工作方式以及如何编写 HTML/CSS 但在通过 运行ning VB.NET 在服务器上使用代码隐藏将两者链接在一起方面仍然是一个新手.
到目前为止,我已经创建了一个 .aspx 页面并使用下面的代码创建了我的表单:
<form id="LoginForm" runat="server" method="post">
<div class="row email">
<asp:TextBox ID="email" placeholder="Email" TextMode="Email" runat="server"></asp:TextBox>
</div>
<div class="row pass">
<asp:TextBox ID="password" placeholder="Password" TextMode="Password" runat="server"></asp:TextBox>
</div>
<asp:Button ID="submit" runat="server" Text="Submit" OnClick="submit_Click" />
</form>
我有一个数据库,我想将电子邮件和密码与服务器上的进行比较。我知道这需要点击,但最简单的方法是什么?
到目前为止,我已经链接 "CodeBehind" 和一个准备
的子Protected Sub submit_Click(sender As Object, e As EventArgs) Handles submit.Click
据我所知,我需要打开一个数据库连接?使用 ADO?以某种方式实现 SQL 查询?
各种论坛和网站上有很多这样的术语,但对于像我这样的初学者来说,它们的作用或交互方式有很多详细信息。任何关于采取什么基本方法的帮助都会很棒,或者任何指向解释所有这些的网站的链接也很棒。它不需要非常安全,因为这个项目更多的是用于学习目的,而不是一个强大的系统。
注意:我确实在 Access 上生成了一个类似的表单,我将文本框字段视为变量,运行 一个 SQL 查询与它们在里面。如果正确则允许访问,如果错误则要求用户重试。这会是类似的方法吗?
这是一个简单的示例,说明如何执行此操作,还有其他各种方法,例如使用 ASP.NET Memberhsip
提供程序:
Protected Sub submit_Click(sender As Object, e As EventArgs) Handles submit.Click
Dim sql = "SELECT u.* FROM dbo.Users u WHERE u.UserName=@Username AND u.PassWord=@Password"
Using con As New SqlConnection(My.Settings.ConnectionString)
Using cmd As New SqlCommand(sql, con)
cmd.Parameters.Add("@Username", SqlDbType.VarChar, 100).Value = email.Text
cmd.Parameters.Add("@Password", SqlDbType.VarChar, 50).Value = password.Text
con.Open()
Using rd = cmd.ExecuteReader()
Dim userExists As Boolean = rd.HasRows
If userExists Then
While rd.Read()
Dim dateBirth = rd.GetDateTime(rd.GetOrdinal("DateOfBirth"))
' .... '
End While
End If
End Using
End Using
End Using
End Sub
您也可以使用 SqlDataAdapter
来填充 DataTable
。实现 User
class 并使用上面的循环填充 List(Of User)
.