1. 程式人生 > >C#窗體與SQL資料庫的連線

C#窗體與SQL資料庫的連線

/*通過C#winform程式訪問資料庫資料

用到的名稱空間和變數型別:

using System.Data.SqlClient;

SqlConnection;資料庫連線類

SqlCommand;資料庫操作類

SqlDataReader:讀取 */

//登入按鈕程式碼
private void button1_Click(object sender, EventArgs e)
{
if (textBox1.Text == “”)
MessageBox.Show(“使用者名稱不能為空!”, “提示”);
else if (textBox2.Text == “”)
MessageBox.Show(“密碼不能為空!”, “提示”);
try //try…catch…異常處理語句
{
string name, pass;
bool flag = false;
name = textBox1.Text;
pass = textBox2.Text; //獲取使用者名稱,密碼
string str = “Data Source=SQL伺服器名稱;Initial Catalog=資料庫名;User ID=登入名;Password=密碼;”;
SqlConnection myConn = new SqlConnection(str);//建立資料庫連線類的物件
myConn.Open(); //將連線開啟
//SQL語句:從資料庫的登入表中搜索登入名,密碼
string sqlstring = “select username,password from users where username=’” +name + “‘and password=’” + pass + “’”;
//執行con物件的函式,返回一個SqlCommand型別的物件
SqlCommand command = new SqlCommand(sqlstring, myConn);
//用cmd的函式執行語句,返回SqlDataReader物件thisReader,thisReader就是返回的結果集(也就是資料庫中查詢到的表資料)
SqlDataReader thisReader = command.ExecuteReader();
//判斷使用者名稱及密碼是否正確,對flag進行賦值
while (thisReader.Read())
{
if ((thisReader.GetValue(0).ToString().Trim()) == (name.ToString().Trim()))
{
if (thisReader.GetValue(1).ToString().Trim() == pass.ToString().Trim())
{
flag = true;
}
}
}
//用完後關閉連線,以免影響其他程式訪問
myConn.Close();
if (flag)
{
MessageBox.Show(“登陸成功!”);
Form2 F = new Form2(); //顯示主頁面
F.Show();
this.Hide();
}
else
{
MessageBox.Show(“請檢查你的使用者名稱和密碼!”);
textBox1.Focus();
}
}
catch (Exception ex2)
{
MessageBox.Show(“連線遠端SQL資料庫發生錯誤:” + ex2.ToString(), “錯誤!”);
}