登录C#和Microsoft SQL Server 2008

时间:2011-05-05 08:55:48

标签: c# sql-server sql-server-2008

我是C#编程语言的新手。我主要在PHP / MySQL中编写代码,并进行了一些Java编程。 我在我的数据库中创建了一个管理表,它只有3个字段,AdminID,用户名和密码。

我使用Visual Studio 2010作为我的IDE,并且已经设置了我的数据库连接器。

到目前为止,我的C#代码中已经有了这个...

private void button1_Click(object sender, EventArgs e)
        {
            if (textBox1.Text == String.Empty)
            {
                MessageBox.Show("Fill in your username");
                return;
            }

            else if (textBox2.Text == String.Empty)
            {
                MessageBox.Show("Fill in your password");
                return;
            }

            //declare variables
            String user_name, passwrd;

            user_name = textBox1.Text;
            passwrd = textBox2.Text;

            //SQL select statement
            String statement = "SELECT Username, Password FROM Users WHERE Username = 'user_name' AND Password = 'passwrd'";

        }

我的问题是,我从哪里开始......即。如何执行语句,查看是否返回了一行,哈希密码输入值等以便成功登录脚本

2 个答案:

答案 0 :(得分:1)

请考虑使用现成的解决方案来实现ASP.NET的安全性。考虑使用Sql Membership Provider而不是滚动自己的解决方案。世界需要的最后一件事是另一种不安全的登录实现。

答案 1 :(得分:0)

如果要在C#中使用数据库,则应该开始查看ADO.NET architecture

从数据库执行读取的最简单方法是使用DataReader,但问题是MySQL没有本机ADO.NET提供程序。

以下是您可以用来从MySql数据库中读取的ODBC provider示例(对于连接字符串示例,您可以查看HERE

public static void ReadData(string connectionString)
{
    string queryString = "SELECT DISTINCT CustomerID FROM Orders";

    using (OdbcConnection connection = new OdbcConnection(connectionString))
    {
        OdbcCommand command = new OdbcCommand(queryString, connection);

        connection.Open();

        // Execute the DataReader and access the data.
        OdbcDataReader reader = command.ExecuteReader();
        while (reader.Read())
        {
            Console.WriteLine("CustomerID={0}", reader[0]);
        }

        // Call Close when done reading.
        reader.Close();
    }
}

如果你想使用本机提供程序,你可以使用从MySql团队开发的MySql Connector/NET,它应该像任何其他ADO.NET数据提供程序一样构建,但是我从未使用过,所以我可以请指出MySQL的文档。