如何正确登录到mySQL
问题描述:
这是一个初学mySQL问题。如何正确登录到mySQL
我在看一些关于mySQL和C#登录表单的文章和youtubes。当我注意到每个解决方案和文章都使用以“root”帐户执行登录的表单开始,然后在数据库内的用户密码表中进行检查时。
例如下面的代码确实是:
public partial class Login_Form_2 : Form
{
public Login_Form_2()
{
InitializeComponent();
}
//Root level login ??
MySqlConnection connection = new MySqlConnection(
"datasource=localhost;port=3310;Initial Catalog='test';username=root;password="
);
MySqlDataAdapter adapter;
DataTable table = new DataTable();
private void BTN_Login_Click(object sender, EventArgs e)
{
adapter = new MySqlDataAdapter("SELECT `username`, `password` FROM `users` WHERE `username` = '" + textBox_username.Text + "' AND `password` = '" + textBox_password.Text + "'", connection);
adapter.Fill(table);
if(table.Rows.Count <= 0)
{
panel1.Height = 0;
label_Message.ForeColor = Color.Red;
label_Message.Text = "Username Or Password Are Invalid";
timer1.Start();
}
else
{
panel1.Height = 0;
label_Message.ForeColor = Color.Green;
label_Message.Text = "Login Successfully";
timer1.Start();
}
table.Clear();
}
}
我觉得root密码不应该在客户端代码。
我还想知道这样的用户密码表是否可以赋予权限。
因此,用户用户X被允许添加表格Z的某个字段,但不允许添加到表格Y.
那么这是否真的是登录应该看起来像?
我很担心上面的代码给出了它的连接字符串。它是一个具有'内部'用户表的数据库,但它使用mySQL服务器的root帐户进行日志记录,我发现它出现在很多示例中,但我想不通过root登录,但只能在特定数据库表中登录 – user3800527
您永远不想构建直接连接到数据库的客户端应用程序。如果你想访问数据库,你应该总是把客户端和服务器端分开。您可以在您的服务器上构建一个单独的应用程序来处理这些调用,或者构建一个网站并通过API运行数据。 –