今天复习了一次ADO.NET基础,整理一下自己的认为的重点:
编写SqlHelper类,方便我们执行数据库语句,这时可以直接调用封装在SqlHelper类的方法。现在大多数公司面试的时候,给你的面试题都会要你自己手写一个SqlHelper的类,这考的是自己的基本功,如果一个根基不牢固的开发人员,你写的代码肯定好不到哪里去。
下面是SqlHelper的演示代码,一定要熟练:
1publicstaticSqlHelper2{3//这里定义一个字符串变量,把数据库连接字符串赋值给它,也可以把连接字符串添加到配置文件,这样整个项目可以方便访问,这里为了清楚直接赋值到字符串变量4staticstringconnStr ="Data Source=127.0.0.1\\SQL2012; Initial Catalog=Test;User ID=test;PassWord=test";567//执行查询语句并返回一个内存中的数据表8publicDataTable ExecuteDataTable(stringsql,paramsSqlParameter[] parameters)9//因为不确定SQL语句的参数有几个,所以使用了长度可变参数,但必须放到后面10{1112using(SqlConnection conn =newSqlConnection(connStr))//到数据库的连接13{14conn.Open();//打开数据库连接15using(SqlCommand cmd = conn.CreateCommand())//创建执行对象16{17cmd.CommandText = sql;//给cmd赋值SQL语句18cmd.Parameters.AddRange(parameters);//把SQL语句参数添加到cmd19DataSet dataset =newDataSet();//新建DataSet对象,用于保存查询结果20SqlDataAdapter adapter =newSqlDataAdapter(cmd);//把执行cmd,更新数据结果到adapter对象21adapter.Fill(dataset);//adapter对象的Fill方法把结果添加到DataSet对象中22returndataset.Tables[0];//返回一个查询结果的一个表23}24}25}2627//执行查询语句返回结果集合的第一行第一列28publicObject ExecuteScalar(stringsql,paramsSqlParameter[] parameters)29{30using(SqlConnection conn =newSqlConnection(connStr))//到数据库的连接31{32conn.Open();//打开数据库连接33using(SqlCommand cmd = conn.CreateCommand())//创建执行对象34{35cmd.CommandText=sql;//给cmd赋值SQL语句36cmd.Parameters.AddRange(parameters);//把SQL语句参数添加到cmd37returncmd.ExecuteScalar();//执行查询,返回查询结果的第一行的第一列38}39}40}4142//执行参数化SQL语句,返回受影响的行数43publicintExecuteNonQuery(stringsql,paramsSqlParameter[] parameters)44{4546using(SqlConnection conn =newSqlConnection(connStr))//到数据库的连接47{48conn.Open();//打开数据库连接49using(SqlCommand cmd= conn.CreateCommand())//创建执行对象50{51cmd.CommandText= sql;//给cmd赋值SQL语句52cmd.Parameters.AddRange(parameters);//添加SQL语句中的参数53returncmd.ExecuteNonQuery();//执行数据库语句并返回受影响的行数54}55}56}57}
二、上面的SqlHelper类创建好了我们就可以在项目里面调用了,下面演示调用代码:
调用SqlHerlper类E的方法插入数据:
1classPRogram2{3staticvoidMain(string[] args)4{5//输入数据6Console.WriteLine("请输入要保存到数据库的名字:");7stringname =Console.ReadLine();8Console.WriteLine("请输入年龄:");9int age =Console.ReadLine();1011//调用ExecuteNonQuery(string sql,params SqlParameter[] parameters)函数,用于将获取的的数据插入到数据库12introws = sqlhelper.ExecuteNonQuery("insert into T_Test(Name,Age) vaules(@Name,@Age)",newSqlParameter("@Name", name),newSqlParameter("@Age", age));1314Console.WriteLine("成功插入{0}条数据", rows);//显示执行结果15Console.ReadKey();16}1718}
删除数据
11classProgram22{33staticvoidMain(string[] args)44{55stringname ="张三";6677intresult = sqlhelper.ExecuteNonQuery("delete from T_Test where Name=@Name",newSqlParameter("@Name", name));//删除名字叫张三的数据88Console.WriteLine("成功删除{0}数据.", result);991010Console.ReadKey();1111}1213}
查询数据
1. 创建一个winform窗体,放一个控件dataGridView
2.在窗体的载入事件中添加调用SqlHelper类的方法,并把结果赋值到dataGridView,代码如下:
1privatevoidForm1_Load(objectsender, EventArgs e)2{3//在窗体的载入事件中添加调用SqlHelper类的方法,并把结果赋值到dataGridView4dataGridView1.DataSource = sqlhelper.ExecuteDataTable("select Name from T_Test");5}
3.运行窗体,显示的结果就是从数据库查询到的数据了
这是我今天复习过的觉得是的重点,虽然很菜啊,这是我第一次写带有代码的博客,自己终于走出这一步,自己以后也会多写博客,分享自己学习中的点点滴滴。
大神不要喷哈......