Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/31.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在ASP.NET中创建用于用户登录的web表单_C#_Asp.net_Sql Server - Fatal编程技术网

C# 在ASP.NET中创建用于用户登录的web表单

C# 在ASP.NET中创建用于用户登录的web表单,c#,asp.net,sql-server,C#,Asp.net,Sql Server,我试图解决这个问题:我想将身份验证页面(登录)与数据库相关联。我不知道如何使用连接字符串 实际上,在ASP中创建的按钮后面的C#代码中,我编写了以下代码: 使用(SqlConnection-connection=newsqlconnection(“server=(LocalDB);database=DBProva;”) { connection.Open(); } 有人建议我也在Web.config中配置连接,但它在connection.Open()行上给了我一个错误 这是我的旧教育准则,

我试图解决这个问题:我想将身份验证页面(登录)与数据库相关联。我不知道如何使用连接字符串

实际上,在ASP中创建的按钮后面的C#代码中,我编写了以下代码:

使用(SqlConnection-connection=newsqlconnection(“server=(LocalDB);database=DBProva;”)
{ 
connection.Open();
} 

有人建议我也在Web.config中配置连接,但它在connection.Open()行上给了我一个错误

这是我的旧教育准则,你也许应该试试

using System;
using System.Collections.Generic;
using System.Data.SqlClient;
using System.Linq;
using System.Web;
using System.Web.Configuration;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class Uye_UyeLogin : System.Web.UI.Page
{
 SqlConnection baglanti = new 
 SqlConnection(WebConfigurationManager.ConnectionStrings["LocalDbYemekSiparis"].ConnectionString);

protected void Page_Load(object sender, EventArgs e)
{

}
protected void FormView1_ItemInserted(object sender, FormViewInsertedEventArgs e)
{
    Label1.Text = "Kaydınız başarıyla gerçekleşmiştir.";
}

protected void Button1_Click(object sender, EventArgs e)
{
    // Üye Girişi
    string sql = "SELECT * FROM Tbl_Musteriler where TcKimlik=@tc and MusteriSifre=HASHBYTES('MD5',@Sif)";
    SqlCommand komut = new SqlCommand();
    komut.CommandText = sql;
    komut.Connection = baglanti;
    komut.Parameters.AddWithValue("@Tc", TextBox1.Text);
    komut.Parameters.AddWithValue("@Sif", TextBox2.Text);
    baglanti.Open();
    SqlDataReader satir = komut.ExecuteReader();
    if (satir.Read())
    {
        Session["KullaniciTipi"] = "Musteri";
        Session["KullaniciId"] = (int)satir["MusteriId"];
        Session["OturumTc"] = satir["TcKimlik"].ToString();
        Session.Timeout = 120; // Oturum süresi dk
        Response.Redirect("/Uye/UyeDefault.aspx");
    }
    else
    {
        Label2.Text = "Hatalı Giriş.";
    }
}

}

尝试在global.asax中声明Myconn字符串,如下所示

public static string MyConn= ConfigurationManager.ConnectionStrings["myConnectionString"].ConnectionString;
当你在代码中需要它时,只需调用

SqlConnection con = new SqlConnection(Global.MyConn);
最重要的是不要忘记在Web.Config中声明一个与数据库对应的连接字符串 例:



FYI,MD5哈希已被弃用(一段时间了),因此不应使用,您应该真正使用
参数。添加
,而不是
参数。添加WithValue
。好。顺便说一句,sha2-512是安全的吗?sha2-512更安全;是的。到目前为止,您尝试了哪些方法来使用连接字符串?有什么不起作用的?关于如何将C#应用程序连接到SQL Server实例,有很多例子;那些你不懂的文章、文档、教程呢?实际上,在ASP中创建的按钮后面的C代码中,我编写了以下代码:使用(SqlConnection connection=newsqlconnection(“server=(LocalDB);database=DBProva;”){connection.Open();}有人建议我也在Web.config中配置连接,但它在connection.Open()行上给了我一个错误;你的问题,不要在评论中尝试。非常感谢你,我按照你给我的指示做了,效果很好
<connectionStrings>
    <add name="myConnectionString" connectionString="Data Source=(local);Initial Catalog=DBNAME;Integrated Security=True" />
</connectionStrings>