zoukankan      html  css  js  c++  java
  • ADO.NET复习——自己编写SqlHelper类

    今天复习了一次ADO.NET基础,整理一下自己的认为的重点:

    编写SqlHelper类,方便我们执行数据库语句,这时可以直接调用封装在SqlHelper类的方法。现在大多数公司面试的时候,给你的面试题都会要你自己手写一个SqlHelper的类,这考的是自己的基本功,如果一个根基不牢固的开发人员,你写的代码肯定好不到哪里去。

    下面是SqlHelper的演示代码,一定要熟练:

     1 public static SqlHelper
     2  {
     3          //这里定义一个字符串变量,把数据库连接字符串赋值给它,也可以把连接字符串添加到配置文件,这样整个项目可以方便访问,这里为了清楚直接赋值到字符串变量
     4          static string connStr = "Data Source=127.0.0.1\\SQL2012; Initial Catalog=Test;User ID=test;Password=test";
     5  
     6  
     7          //执行查询语句并返回一个内存中的数据表
     8          public DataTable ExecuteDataTable(string sql,params SqlParameter[] parameters)
     9              //因为不确定SQL语句的参数有几个,所以使用了长度可变参数,但必须放到后面
    10         {
    11 
    12             using (SqlConnection conn = new SqlConnection(connStr))//到数据库的连接
    13             {
    14                 conn.Open();//打开数据库连接
    15                 using (SqlCommand cmd = conn.CreateCommand())//创建执行对象
    16                 {
    17                     cmd.CommandText = sql;//给cmd赋值SQL语句
    18                     cmd.Parameters.AddRange(parameters);//把SQL语句参数添加到cmd
    19                     DataSet dataset = new DataSet();//新建DataSet对象,用于保存查询结果
    20                     SqlDataAdapter adapter = new SqlDataAdapter(cmd);//把执行cmd,更新数据结果到adapter对象
    21                     adapter.Fill(dataset);//adapter对象的Fill方法把结果添加到DataSet对象中
    22                     return dataset.Tables[0];//返回一个查询结果的一个表
    23                 }
    24             }
    25         }
    26 
    27         //执行查询语句返回结果集合的第一行第一列
    28         public Object ExecuteScalar(string sql,params SqlParameter[] parameters)
    29         {
    30             using(SqlConnection conn = new SqlConnection(connStr))//到数据库的连接
    31             {
    32                 conn.Open();//打开数据库连接
    33                 using(SqlCommand cmd = conn.CreateCommand())//创建执行对象
    34                 {
    35                     cmd.CommandText=sql;//给cmd赋值SQL语句
    36                     cmd.Parameters.AddRange(parameters);//把SQL语句参数添加到cmd
    37                     return cmd.ExecuteScalar();//执行查询,返回查询结果的第一行的第一列
    38                 }
    39             }
    40         }
    41 
    42         //执行参数化SQL语句,返回受影响的行数
    43         public int ExecuteNonQuery(string sql,params SqlParameter[] parameters)
    44         {
    45 
    46             using (SqlConnection conn = new SqlConnection(connStr))//到数据库的连接
    47             {
    48                 conn.Open();//打开数据库连接
    49                 using(SqlCommand cmd= conn.CreateCommand())//创建执行对象
    50                 {
    51                     cmd.CommandText= sql;//给cmd赋值SQL语句
    52                     cmd.Parameters.AddRange(parameters);//添加SQL语句中的参数
    53                     return cmd.ExecuteNonQuery();//执行数据库语句并返回受影响的行数
    54                 }
    55             }
    56         }
    57 }

    二、上面的SqlHelper类创建好了我们就可以在项目里面调用了,下面演示调用代码:

    调用SqlHerlper类E的方法插入数据:

     1     class Program
     2     {
     3         static void Main(string[] args)
     4         {
     5             //输入数据
     6             Console.WriteLine("请输入要保存到数据库的名字:");
     7             string name = Console.ReadLine();
     8             Console.WriteLine("请输入年龄:");
     9             int age = Console.ReadLine();
    10 
    11             //调用ExecuteNonQuery(string sql,params SqlParameter[] parameters)函数,用于将获取的的数据插入到数据库
    12             int rows = sqlhelper.ExecuteNonQuery("insert into T_Test(Name,Age) vaules(@Name,@Age)", new SqlParameter("@Name", name), new SqlParameter("@Age", age));
    13 
    14             Console.WriteLine("成功插入{0}条数据", rows);//显示执行结果
    15             Console.ReadKey();
    16         }
    17 
    18     }

    删除数据

     1  1     class Program
     2  2     {
     3  3         static void Main(string[] args)
     4  4         {
     5  5             string name = "张三";
     6  6 
     7  7             int result = sqlhelper.ExecuteNonQuery("delete from T_Test where Name=@Name", new SqlParameter("@Name", name));//删除名字叫张三的数据
     8  8             Console.WriteLine("成功删除{0}数据.", result);
     9  9 
    10 10             Console.ReadKey();
    11 11         }
    12 13     }


    查询数据

    1. 创建一个winform窗体,放一个控件dataGridView

    2.在窗体的载入事件中添加调用SqlHelper类的方法,并把结果赋值到dataGridView,代码如下:

    1          private void Form1_Load(object sender, EventArgs e)
    2          {
    3              //在窗体的载入事件中添加调用SqlHelper类的方法,并把结果赋值到dataGridView
    4              dataGridView1.DataSource = sqlhelper.ExecuteDataTable("select Name from T_Test");
    5          }

    3.运行窗体,显示的结果就是从数据库查询到的数据了

     

    这是我今天复习过的觉得是的重点,虽然很菜啊,这是我第一次写带有代码的博客,自己终于走出这一步,自己以后也会多写博客,分享自己学习中的点点滴滴。

    大神不要喷哈......

  • 相关阅读:
    neo4j通过LOAD CSV导入结点和关系
    二叉树的几种遍历方法
    数据结构之二叉排序树
    结合数据结构来看看Java的String类
    变量和对象
    Java虚拟机的内部体系结构
    算法

    freemarker
    solr的安装和启动
  • 原文地址:https://www.cnblogs.com/pirates/p/4232600.html
Copyright © 2011-2022 走看看