首先是看老师课上操作然后照猫画虎做的一个样例,ԾㅂԾ,
以下图片分别是操作中出现的三个窗口
界面设计在上一篇也有所介绍,在这篇博客中就不再做关于组件的特殊说明啦
开门见山
Form1的背后操作
第一个窗口涉及到的背后操作主要涉及到与数据库的链接上
有两个文本框所以就要涉及到提取两个文本框的内容,Trim的作用是消除文本框文本头部和尾部的空格。
string username = textBox1.Text.Trim(); //取出账号
string password = textBox2.Text.Trim(); //取出密码
下面的myConnString就是数据库连接字符串,怎么说呢,个人理解这句话就相当于一张门禁卡,有了下面的连接字符串就可以连接到目标服务器和数据库
string myConnString = "Data Source=.;Initial Catalog=LoginTest;Persist Security Info=True;User ID=sa;Password=(此处省略23333)";
要进行连接数据库的操作,中间肯定会涉及到相关的类的操作。
SqlConnection就是这样的类,上面的连接字符串即为此类对象的构造函数参数,连着上面的比方,就相当于你有了门禁卡,拿着门禁卡刷卡进门一样(2333不知道这个比方对不对),通过了这层“门禁”,你就可以对连接的数据库进行打开然后完成后续操作了。
SqlConnection sqlConnection = new SqlConnection(myConnString); //实例化连接对象
sqlConnection.Open();
下面的代码又定义了一个字符串变量,仔细看内容会发现它就是我们学习的SQL语句中的SELECT操作。
然后,我们又见到了新的类对象SqlCommand,然后观察其构造函数参数就有这句SQL语句的字符串和上面的连接对象。
ExecuteReader的作用相当于中间有一个媒介代替你转达这句SQL语句到SQL Server中进行操作。
string sql = "select name,password from users where name = '" + username + "' and password = '" + password + "'"; //编写SQL命令
SqlCommand sqlCommand = new SqlCommand(sql, sqlConnection);
SqlDataReader sqlDataReader = sqlCommand.ExecuteReader();
上面SQL语句中SELECT操作是挑选所有的用户名和密码,所以下面是对文本框输入的审核,看用户名和密码是否在连接的数据库中。
如果成功的话,弹出提示窗口并且可以进入下面的form2。
错误也会提示相关信息。
if (sqlDataReader.HasRows)
{
MessageBox.Show("WELCOME!", "notice", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);//登录成功
label1.Text = "Log in :" + username;
Form2 form2 = new Form2();
form2.Show();
this.Hide();
}
else
{
MessageBox.Show("FAILED!", "notice", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
有打开就要在操作完毕之后关闭连接
sqlConnection.Close();
Form2的背后操作
退出按钮的代码如下,虽然少但是也需要注意,程序运行时,主函数调用的第一个界面是Form1,所以关闭Form1也就相当于程序结束运行
但是在接入Form2以后,Form1并未关闭,只是设置了不可见,实际上Form1也还在运行,所以想要关闭整个程序,我们也要在Form2中添加能够关闭整个程序的操作。
Application.Exit();
首先界面中用到了之前没有接触过的一个组件用于展示数据,这块操作也就围绕着DateGridView如何展示数据来展开。
点击界面设计时看见的小三角图标可以进行相关设置。这一块的操作感觉和前面连接数据库也有点相似之处,也是要选择该组件要连接的数据源,绑定到某个服务器的某个数据库,连接以后选择要展示的内容,就可以在程序运行时看见展示结果。
!