C# 連接SQLServer數據庫及登錄驗證知識
最近在做聯係數據庫的係統項目,這裏重新回顧了一些數據庫的知識,主要是使用VS2012與SQL Server 2012簡單的做了下麵兩個數據庫的應用,雖然比較簡單,但我認為這是非常有用的知識,尤其對剛接觸這樣的係統知識的同學,同時也鞏固了自己的知識.
一.VS簡單連接數據庫
使用DataGridView控件(顯示和編輯不同數據類型的表格數據)來顯示數據庫中的數據,主要步驟是:先定義連接數據庫和查詢語句,再使用SqlConnection建立數據庫,SqlDataAdapter連接數據庫和查詢命令,最後獲取數據並顯示在DataGridView控件上即可.運行結果如下圖所示:

源程序:C#建立一個Windows窗體程序,點擊窗體空白處生成Load..填寫代碼.
//新加命名空間
using System.Data.SqlClient;
using System.Reflection;
private void Form1_Load(object sender, EventArgs e)
{
//定義數據內存中緩存,後麵填充數據使用
DataSet ds = new DataSet();
//定義數據庫連接語句:服務器=.(本地) 數據庫名=TelephoneMS(手機管理係統)
string consqlserver = "Data Source=.;Initial Catalog=TelephoneMS;Integrated Security=True;";
//定義SQL查詢語句
string sql = "select * from Users";
//定義SQL Server連接對象
SqlConnection con = new SqlConnection(consqlserver);
//數據庫命令和數據庫連接
SqlDataAdapter da = new SqlDataAdapter(sql, con);
try
{
da.Fill(ds); //填充數據
if (ds.Tables[0].Rows.Count > 0) //判斷是否符合條件的數據記錄
{
dataGridView1.DataSource = ds.Tables[0]; //獲取數據源賦值數據庫控件
}
}
catch (Exception msg)
{
throw new Exception(msg.ToString()); //異常處理
}
finally
{
con.Close(); //關閉連接
con.Dispose(); //釋放連接
da.Dispose(); //釋放資源
}
}
數據庫中對應的代碼和結果如下:
-------創建數據庫:手機銷售管理係統(TelePhone management system)--------
create database TelephoneMS --創建數據庫
use TelephoneMS --使用數據庫
drop database TelephoneMS --刪除數據庫
-------------------------------------------------------------------
-------------------------建表1 Users(角色表)------------------------
--創建表
create table Users
(
username varchar(20) not null, --用戶名
userpwd varchar(20) not null, --用戶密碼
userid varchar(20) not null, --用戶編號
userrole varchar(20) not null --用戶權限
)
--刪除表
drop table Users
--清空表中所有數據
truncate table Users
--設置主鍵:username(用戶名)
alter table Users
add constraint
pk_users primary key(username)
--設置外鍵:userid(用戶編號)
alter table Users
add constraint
fk_users foreign key(userid)
references UserInfo (userid)
---------------------------------------------------------------------
----------------------------(試驗)插入數據查詢--------------------------
insert into Users
(username,userpwd,userid,userrole)
values('admin','123456','000001','adminst');
insert into Users
(username,userpwd,userid,userrole)
values('Eastmount','eastmount','000002','manager');
select * from Users
----------------------------------------------------------------------
二.數據庫簡單登錄驗證
在做係統中通常需要對用戶名和密碼進行簡單的登錄驗證,下麵是簡單的登錄驗證知識.運行結果如下:

主要思想是通過判斷輸入用戶名和密碼textbox數據在數據庫中查詢,結果存在即能實現.代碼如下:
//新加命名空間
using System.Data.SqlClient;
using System.Reflection;
//點擊"登錄"按鈕實現數據庫驗證登錄功能
private void button1_Click(object sender, EventArgs e)
{
//字符串賦值:用戶名 密碼
string username = textBox1.Text.Trim();
string userpwd = textBox2.Text.Trim();
//定義數據庫連接語句:服務器=.(本地) 數據庫名=TelephoneMS(手機管理係統)
string consqlserver = "Data Source=.;Initial Catalog=TelephoneMS;Integrated Security=True;";
//定義SQL查詢語句:用戶名 密碼
string sql = "select * from Users where username='" + username + "' and userpwd='" + userpwd + "'";
//定義SQL Server連接對象 打開數據庫
SqlConnection con = new SqlConnection(consqlserver);
con.Open();
//定義查詢命令:表示對數據庫執行一個SQL語句或存儲過程
SqlCommand com = new SqlCommand(sql, con);
//執行查詢:提供一種讀取數據庫行的方式
SqlDataReader sread = com.ExecuteReader();
try
{
//如果存在用戶名和密碼正確數據執行進入係統操作
if (sread.Read())
{
MessageBox.Show("登錄成功");
}
else
{
MessageBox.Show("請輸入正確的用戶名和密碼");
}
}
catch (Exception msg)
{
throw new Exception(msg.ToString()); //處理異常信息
}
finally
{
con.Close(); //關閉連接
con.Dispose(); //釋放連接
sread.Dispose(); //釋放資源
}
}
實際係統中,彈出的界麵“登錄成功”可以通過下麵的代碼替換:
Main Mwind = new Main(); //顯示登錄主菜單 this.Hide(); //隱藏當前登陸窗體 Mwind.Show(); //顯示主登陸窗體
希望這些知識點能幫助鞏固和學習C#連接數據庫知識,如果敘述中有錯誤或不足之處見諒!
(By:Eastmount 2013-9-2https://blog.csdn.net/eastmount/)
最後更新:2017-04-03 16:49:04