今天是龍年的第一天上課,複習了年前所學習的一些基本知識:數據庫的鏈接。
string strcon=ConfigurationManager.ConnectionStrings["strcon"].ConnectionString;
這是從配置文件中獲取鏈接數據庫的字符串,其中[“strcon”]中的strcon是配置文件中的name屬性;
一般編程過程中,鏈接數據庫的字符串,都應該在配置文件中寫出,不宜在後臺代碼中寫出,從而方便調用。(而連接數據庫的代碼有很多種寫法 但是推薦還是使用用戶名與密碼登錄數據庫的那一種方法。)
SqlConnection conn = new SqlConnection(strcon);
這句話的作用就是建立程序與數據庫的連接,相當於將程序與數據庫用橋搭在了一起。
SqlCommand cmd = new SqlCommand(conn);
用來存儲將要執行的SQL語句;
cmd.CommandText = "select * from T_User where UserName=@username and Password=@password" ;
這是要執行的sql語句;其中@username,@password 爲參數,需要爲其賦值;下面是最新的賦值方法,空格中第一位寫參數,第二位寫要賦的值。
cmd.Parameters.AddWithValue("@username", txtUserName.Text);
cmd.Parameters.AddWithValue("@password", txtPassword.Text);
SqlDataAdapter adapter = new SqlDataAdapter(cmd);
這句是用來向數據庫發送要執行的SQL命令,是數據適配器。而從數據庫返回的值,就要存到內存當中
DataTable dt = new DataTable();
adapter.Fill(dt);
dt是一個表,根據表的行數來判斷命令是否執行
如果返回值爲0或者-1,則是沒有執行
if (dt.Rows.Count <= 0)
{
MessageBox.Show("輸入的用戶名或者密碼不正確,請重新輸入");
}
如果返回值=1,則是成功執行!
else
{
MessageBox.Show("登錄成功");
}
如果返回值大於1,則是執行了多行數據,說明數據庫中有重複的數據
else if (dt.Rows.Count > 1)
{
MessageBox.Show("系統中存在重複的用戶,請聯繫管理員");
}
執行成功後 ,要關閉數據庫,而且要釋放資源。
cmd.Dispose();
//關閉連接
//conn.Close();
//釋放資源
conn.Dispose();
這就是今天所學大概內容。