gpt4 book ai didi

c# - 使用 SQL Server 数据库的 Asp.net 登录

转载 作者:太空宇宙 更新时间:2023-11-03 21:53:28 26 4
gpt4 key购买 nike

我正在尝试在我的 asp.net 页面中创建一个简单的登录表单(我有一个 html 页面,现在我正在尝试将其添加到 asp.net)。它应该采用输入的用户名和密码并连接到 mssql 数据库。在那里我将创建一个 SQL Select 语句,它选择用户名和密码,其中用户名等于在文本框中输入的用户名(然后比较输入的密码是否与数据库中的密码相同)。如果用户名和密码没问题,那么它应该会打开另一个页面 - main.aspx。我的 index.aspx 看起来像这样:

<form id="loginform" runat="server" method="post" action="/">
<div id="username_box"><p style="padding-top: 10px; margin: 0px">Username:</p></div>
<input type="text" value="" name="usernameTextBox" runat="server" id="username_input" /><br/>
<div id="password_box"><p style="padding-top: 10px; margin: 0px">Password:</p></div>
<input type="password" value="" name="passwordTextBox" runat="server" id="password_input" /><br/>
<a href="facebook.com" style="float: left;padding-left: 13px;padding-top: 8px;">Glemt kodeordet?</a>
<input type="submit" runat="server" id="LoginBtnClick" />
</form>

按下提交按钮后,有我的c#代码:

protected void LoginBtn_Click(object sender, EventArgs e)
{
SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["myConnectionString"].ConnectionString);
con.Open();
SqlCommand cmd = new SqlCommand("select user_username, user_password FROM users WHERE user_username =@username and user_password=@password", con);
cmd.Parameters.AddWithValue("@username", "user");
cmd.Parameters.AddWithValue("@password", "1234");
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataTable dt = new DataTable();
da.Fill(dt);
if (dt.Rows.Count > 0)
{
Response.Redirect("main.aspx");
}else
{
ClientScript.RegisterStartupScript(Page.GetType(), "validation", "<script language='javascript'>alert('Invalid Username and Password')</script>");
}
}

现在我没有使用用户在文本框中输入的用户名和密码,而是使用了一个硬编码的用户名“user”和密码“1234”,我已将其插入到我的数据库中。我不知道如何从文本框中获取文本。但即使使用硬编码的用户名和密码,这整件事也行不通。

最后,这是我添加到我的 Web.Config 中以创建连接字符串的内容:

<connectionStrings>
<add name="myConnectionString" providerName="System.Data.SqlClient" connectionString="Data Source=hereistheipofmydb;Initial Catalog=mydb;User Id =myadmin;password=mypass;" />

还有一个问题:是否需要将整个项目上传到服务器(与数据库相同)?现在我在主机上有我的数据库,但我正在通过 Visual Studio 2012 运行网站。

最佳答案

您正在以艰难的方式使用数据库。您对连接字符串的使用也是内存泄漏的潜在来源。请考虑使用 LINQ-to-SQL 或 Entity Framework 。它们将使您的生活变得更加轻松。调查事件的正确使用对您也很有帮助。请查看这些引用资料:

  1. Publish/Subscribe event pattern
  2. Getting Started with LINQ in C#
  3. LINQ To SQL Tutorial for Beginners
  4. Adding a model to ASP.NET using MVC4 and Entity Framework

关于c# - 使用 SQL Server 数据库的 Asp.net 登录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13397268/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com