ADO知识的运用二(Day 28)
2014-12-18 21:13
309 查看
可能是最近有些沉迷于电视剧了,所以,好多天都没写总结了。我知道这样不好,但又老管不住自己,也许是我自控力太差了吧......呵呵,如果在不写总结,可能以后就会成为习惯了。所以今天要赶紧补上......今天就先写一下前几天所学的几个小程序吧。
用户登录程序:
窗体界面:
数据库信息:
主要代码:
首先,要引进命名空间using System.Data.SqlClient;
运行结果:
由于每次在对数据库中的表进行操作时,总要去连接数据库,和调用一些SqlCommand的方法。所以,我们可以把这些定义成一个类SqlHelper(里面的方法为静态方法),在用的时候直接调用就行。例如上面的那个用户登录,我们可以用这种方法写。
SqlHelper类
在登录btton按钮事件下直接调用
运行结果:
由于时间的关系,今天先写到这里了,明天总结三层架构。加油!
用户登录程序:
窗体界面:
数据库信息:
主要代码:
首先,要引进命名空间using System.Data.SqlClient;
private void btnok_Click(object sender, EventArgs e) //登录按钮的事件 { string user = this.txtname.Text; string pwd = this.txtpwd.Text; //创建连接字符串 string connstr = "Data Source=.;Initial Catalog=db_buiness;Integrated Security=True"; //打开连接 using (SqlConnection conn = new SqlConnection(connstr)) { conn.Open(); //执行数据库操作 (向SqlCommand的Parameters中添加参数) string sqltext = "select * from info where name=@user and pwd=@pwd"; SqlParameter sp = new SqlParameter("@user", user); SqlParameter sp1 = new SqlParameter("@pwd", pwd); using (SqlCommand cmd = new SqlCommand(sqltext, conn)) { cmd.Parameters.Add(sp); cmd.Parameters.Add(sp1); DataTable dt = new DataTable(); //定义一个DateTable类型来存放数据 using (SqlDataAdapter sda = new SqlDataAdapter(cmd))//创建数据适配器 { sda.Fill(dt); //填充数据 } if (dt.Rows.Count > 0) { MessageBox.Show("登陆成功"); } else { MessageBox.Show("登录失败"); } } } } private void btnclo_Click(object sender, EventArgs e) { this.txtname.Text= ""; this.txtpwd.Text = ""; }
运行结果:
由于每次在对数据库中的表进行操作时,总要去连接数据库,和调用一些SqlCommand的方法。所以,我们可以把这些定义成一个类SqlHelper(里面的方法为静态方法),在用的时候直接调用就行。例如上面的那个用户登录,我们可以用这种方法写。
SqlHelper类
class SqlHelper { //连接数据库 static string constr = "Data Source=.;Initial Catalog=db_buiness;Integrated Security=True"; // SqlCommand对象的主要方法 //ExecuteNonQuery用于执行SQL语句,并返回SQL语句所影响的行数,一般用于执行Insert、Delete、Update等命令 public static int ExecuteNonQuery (string sqltext,params SqlParameter[]parms) { using (SqlConnection conn = new SqlConnection(constr)) { conn.Open(); using (SqlCommand comm =new SqlCommand ()) { comm.CommandText = sqltext; comm.Connection = conn; comm.Parameters.AddRange(parms); return comm.ExecuteNonQuery(); //返回受影响的行数 } } } //ExecuteScalre方法用于执行查询语句,但返回的是首行首列,该方法只适用于只有一个结果的查询,如可以在使用Sum,Avg,Max,Min等函数的SQL语句 public static int ExecuteScalre(string sqltext, params SqlParameter[] parms) { using (SqlConnection conn=new SqlConnection (constr)) { conn.Open(); using (SqlCommand comm= new SqlCommand ()) { comm.Connection = conn; comm.CommandText = sqltext; comm.Parameters.AddRange(parms); return (int)comm.ExecuteScalar(); //返回首行首列 } } } public static DataTable ExecuteDataTable (string sqltext,params SqlParameter[]parms) { using (SqlConnection conn=new SqlConnection (constr)) { conn.Open(); using (SqlCommand comm=new SqlCommand ()) { comm.Connection = conn; comm.CommandText = sqltext; comm.Parameters.AddRange(parms); DataTable dt = new DataTable(); //创建一个临时容器 using (SqlDataAdapter sda=new SqlDataAdapter(comm)) { sda.Fill(dt); } return dt; } } } // ExecuteReader用于执行查询语句,返回的是一个DataReader类型的集合 public static SqlDataReader ExecuteSqlDataReader(string sqltext,params SqlParameter[]parms) { using (SqlConnection conn=new SqlConnection (constr)) { conn.Open(); using (SqlCommand comm=new SqlCommand (sqltext,conn)) { comm.Parameters.AddRange(parms); using (SqlDataReader da= comm.ExecuteReader(CommandBehavior.CloseConnection)) //关闭连接 { return da; } } } }
在登录btton按钮事件下直接调用
private void btnlogin_Click(object sender, EventArgs e) { //首先得到用户输入的用户名和密码 string name = this.txtname.Text.Trim(); string pwd = this.txtpwd.Text.Trim(); string sqltext = "select count(*) from student where uname=@uname and upwd=@upwd"; SqlParameter[] parms = { new SqlParameter("@uname",name), new SqlParameter ("upwd",pwd) }; if (SqlHelper.ExecuteScalre(sqltext, parms) > 0) //调用SqlHelper的ExecuteScalre方法 { MessageBox.Show("登陆成功"); } else { MessageBox.Show("登录失败"); } }
运行结果:
由于时间的关系,今天先写到这里了,明天总结三层架构。加油!
相关文章推荐
- ADO.NET知识的运用一(Day 26)
- C++数据库操作学习笔记:ADO基础知识
- 关于final的基本知识运用02
- 稳扎稳打Silverlight(28) - 2.0通信之调用ADO.NET Data Services(数据服务)
- PHP基础知识 php操作mysql的函数库及运用
- Python开发基础-Day25-28FTP项目(待补充)
- Android 一个代码教你学会运用服务相关知识
- ado.net复习知识总结
- MySQL高效运行必备:简单的知识教你高效运用索引
- 蓝桥杯C语言培训4 数学知识的运用 例题3 尼姆堆
- 蓝桥杯C语言培训4 数学知识的运用 例题4 公约公倍
- 标签在个人知识管理中的灵活运用
- 较新一篇 / 较旧一篇 编辑 | 删除 | 复制链接 运用ADO方式在C++上连接SQL2008
- 小知识,大应用--正交向量在CDMA中的运用
- 股票入门基础知识29:如何运用日本蜡烛图进行技术分析
- day day up--Java多线程理论知识碎片
- 运用 ADO.NET 对象优化数据查询代码
- 运用ADO.NET对象优化数据查询代码
- C语言基础知识之(十八):堆内存的分配函数及运用
- 简述游戏抽奖机制运用的心理学知识(上)