c# Windows窗体应用程序文本框对SQL数据库的验证

本文关键字:SQL 数据库 验证 Windows 窗体 应用程序 文本 | 更新日期: 2023-09-27 18:16:59

我是c#新手,有SQL背景,所以如果这是一个非常愚蠢的查询,我很抱歉,但我已经在谷歌上搜索了大约2个小时,现在找不到我需要的东西。如果有人知道一篇文章,可以指给我看,那就太好了。

我有一个简单的windows窗体应用程序,我正在设置一个登录框,以便用户必须输入他们的用户ID才能继续。

我有一个SQL Server数据库(SQL 2005)与以下表:

用户UserID (int);用户名nvarchar (50)

我使用的是Visual Studio 2010

我的障碍是如何检查他们的userID是否存在于我的SQL表(称为users…)我不打算在这里放任何代码,因为它已经被从零开始重写了很多次,干净的石板可能是最好的!

理想情况下,我希望用户输入他们的用户ID,然后单击"login"。当他们这样做时,如果他们的userID在DB表中无效,那么我需要它给出一个错误msgBox;如果它是有效的,那么它应该登录他们,传递他们的userID和userName(存储在DB表中)到一个变量,我可以在应用程序的其他地方使用填充字段。

我希望这是有意义的,我肯定我错过了完美的文章,将解释这一切-希望你们中的一个善良的人可以指出我在正确的方向!

谢谢

c# Windows窗体应用程序文本框对SQL数据库的验证

应该使用用户输入的userID执行一个简单的SQL查询,如
从UserID = value的Users中选择UserID。executeNonQuery()将返回匹配次数。如果返回值==1,则表示该用户id在数据库中存在。如果返回值不等于1,则表示该用户id不存在或已注册多次。因此,如果是1那么你可以调用不同的表单来制作不同的东西,否则你调用另一个表单或者输出一个带有错误信息

的消息框
    /*table code
     * create table login
           (
                id varchar(25),
                    pass varchar(25)
            )   
     * 
     * 
     * 
     * 
     */
    string Connectstring = @"Data Source=DELL-PC;Initial Catalog=stud;Integrated Security=True";
    public Form1()
    {
        InitializeComponent();
    }

    private void button1_Click(object sender, EventArgs e)
    {
        SqlConnection cn = new SqlConnection(Connectstring);
        cn.Open();

        SqlCommand cmd = new SqlCommand("select * from log where id=@a and pass=@b", cn);
        cmd.Parameters.AddWithValue("@a", textBox1.Text.ToString().ToUpper());
        cmd.Parameters.AddWithValue("@b", textBox2.Text);
        SqlDataReader dr = cmd.ExecuteReader();

        if ((dr.Read() == true))
        {
            MessageBox.Show("The user is valid!");
            Form2 mainForm = new Form2();
            mainForm.Show();
            this.Hide();
        }
        else
        {
            MessageBox.Show("Invalid username or password!");
        }

    }

声明到数据库的连接字符串

string connString = @"Data Source=.'SQLEXPRESS;Initial Catalog=YourDatabase;Integrated Security=True";

之后,你可以在

下面使用验证方法
private bool ValidateUserById(string connString, int id)
{
    using (var conn = new SqlConnection(connString))
    {
        conn.Open();
        var sqlString = string.Format("Select * From Users where Id = {0}", id);
        using (var cmd = new SqlCommand(sqlString, conn))
        {
                return cmd.ExecuteScalar() != null;
        }
    }
}

然后点击按钮,你可以检查用户

if (ValidateUserById(connString, Convert.ToInt32(textBox1.Text)))
{
    //..
}
else
{
    //..
}