0
這是一個初學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運行數據。 –