我最近有興趣爲我的應用程序的登錄託管我自己的數據庫,因爲我有一個提供程序允許我使用他們已經連接的面板一個MySQL數據庫。我做了一個簡單的測試登錄,看看我能否弄清楚如何去做。這是我的代碼,我沒有能夠得到它的工作,我一直在登錄失敗我已經嘗試了幾種不同的方式,但任何幫助將不勝感激。我知道我已連接到數據庫。我爲了隱私目的編輯了服務器IP和密碼。這是我的數據庫:http://prntscr.com/ettqn1(C#)從SQL數據庫中讀取用戶名和密碼以進行登錄
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using MetroFramework.Forms;
using MetroFramework.Design;
using MetroFramework;
using MySql.Data.MySqlClient;
namespace MySQL_Testing
{
public partial class Form1 : MetroForm
{
static MySqlConnection SqlConnection = new MySqlConnection("Server=MyServerAddress; Database=logins; Uid=root; Pwd=MyPass;");
static string SqlQuerry = "SELECT Usernames FROM Accounts;";
static string SqlQuerryPass = "SELECT Password FROM Accounts;";
static string SqlQuerryID = "SELECT ID FROM Accounts;";
static MySqlCommand cmd = new MySqlCommand(SqlQuerry, SqlConnection);
static MySqlCommand cmd2 = new MySqlCommand(SqlQuerryPass, SqlConnection);
static MySqlCommand cmd3 = new MySqlCommand(SqlQuerryID, SqlConnection);
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
}
private void metroButton1_Click(object sender, EventArgs e)
{
SqlConnection.Open();
//MySqlDataReader rdID = cmd3.ExecuteReader();
//rdID.Close();
MySqlDataReader rd = cmd.ExecuteReader();
List<string> ReadUser = new List<string>();
ReadUser.Add(Convert.ToString(rd.Read()));
rd.Close();
MySqlDataReader rdPass = cmd2.ExecuteReader();
List<string> ReadPass = new List<string>();
ReadPass.Add(Convert.ToString(rdPass.Read()));
if (ReadUser.ToArray().ToString().Contains(metroTextBox1.Text) && ReadPass.ToArray().ToString().Contains(metroTextBox2.Text))
{
MessageBox.Show("Login Successful");
}
else
{
MessageBox.Show("Login Failed");
}
rdPass.Close();
SqlConnection.Close();
}
}
}