本人菜鸟~~学习过程中~~请求老大们指导!!谢谢!!!
从基础学习,坚持下去,每天进步一点点!!
1.首先要实现登录,通俗点总得有个登陆的样子吧,也就是人要有个脸面嘛!说做就做!自己属于菜鸟级别的,所以也就直接上简单的!当做自己的练手嘛!
新建一个WinForm项目,取名AdoLogin
往Form里面相对应的label和textbox以及button
设置各个控件的属性,其中label1和label2的Text分别为用户名和密码,TextBox1和TextBox2分别设置为txtUserName和txtPassWord,button1设置为btnLogin,其中label3的属性Visible设置为false。
设计数据库:
点击button进入后台写button的click事件
在这里复习一下操纵数据库的几个对象。
(1)connection(2)command(3)DataAdapter(4)DataSet(5)DataRead
其中注意一下DataSet与DataRead的区别:
说下自己的理解(菜鸟级别理解~~呵呵~~~大牛们给予知道!谢谢!)
*DataReader是从数据库中一条一条数据的往下读,占用的内存空间小,而DataSet试讲数据库中的数据一次性的加载到缓冲池中,占用的内存空间比较大。
*DataReader保持与数据库的连接,而DataSet将数据加载完成后,断开与数据的连接!
{这条是自己出学校进入公司时面试说掉的一条~不过项目经理好人啊~~呵呵(女的)~~给个提示我就记得啦!在此分享下说下!感觉面试心态放好点~面试官还是比较好的~不懂得还是会给予你提示的!}
*DataReader读取数据速度较慢,DataSet读取数据速度较快!
*在对DataReader中的数据进行更新以后,没有办法进行数据库更新;而DataSet数据集中的数据更新以后,可以把数据更新会原来的数据库。
*DataSet支持数据的分页,动态排序等功能;而DataReader没有数据的分页、动态排序功能!
其中说到ExecuteNonQuery和ExecuteScalar:
*ExecuteNonQuery用于对数据库de增加,删除,修改操作,执行成功,则返回1,失败则返回0.
*ExecuteScalar返回表结构的首行首列,忽略其他的行和列!
1 using System; 2 using System.Collections.Generic; 3 using System.ComponentModel; 4 using System.Data; 5 using System.Drawing; 6 using System.Linq; 7 using System.Text; 8 using System.Windows.Forms; 9 using System.Data.SqlClient;10 11 namespace AdoLogin12 {13 public partial class Form1 : Form14 {15 public Form1()16 {17 InitializeComponent();18 }19 20 private void btnLogin_Click(object sender, EventArgs e)21 {22 string UserName = txtUserName.Text.Trim();23 string PassWord = txtPassWord.Text;24 if (UserName == "" || PassWord == "")25 {26 MessageBox.Show("用户名或密码不能为空!");27 }28 else29 {30 string conStr = @"Data Source=.;Initial Catalog=MyDataBase01;Integrated Security=True";31 string sqlStr = @"select count(*) from Login where UserName=@UserName and PassWord=@PassWord";32 SqlConnection myConnection = new SqlConnection(conStr);33 SqlCommand myCommand = new SqlCommand(sqlStr, myConnection);34 myConnection.Open();35 myCommand.Parameters.AddWithValue("@UserName", UserName);36 myCommand.Parameters.AddWithValue("@PassWord", PassWord);37 int res = Convert.ToInt32(myCommand.ExecuteScalar());38 myConnection.Close();39 if (res > 0)40 {41 show.Visible = true;42 show.ForeColor = Color.Red;43 show.Text = "登录成功!";44 }45 else46 {47 show.Visible = true;48 show.ForeColor = Color.Red;49 show.Text = "登录失败!请检查用户名和密码!";50 }51 52 53 }54 }55 }56 }
本人菜鸟~·希望寻得大牛指导~~万分感谢!