今天是龙年的第一天上课,复习了年前所学习的一些基本知识:数据库的链接。
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();
这就是今天所学大概内容。