c#中sqlhelper类的编写(一)

2018-06-23 22:32:11来源:未知 阅读 ()

新老客户大回馈,云服务器低至5折

  在.net平台的项目开发中,凡是用到数据库交互的,都有必要了解SqlHelper类的原理.

  步骤一:

    我就拿WPF项目开发作为例子.首先要新建一个App.config(应用程序配置文件).注意,在VS中默认新建的文件名为App1.config.必须要把名字改回来.你不管在App1.config里写什么,项目都不会加载.文件名必须是App.config.当然,如果你做的是web开发,可以新建一个web.config配置文件,原理相同.

    新建这个配置文件用来写入与数据库连接的必要信息.如服务器地址,数据库名称,用户名,密码.

    

1 <configuration>
2     <connectionStrings>
3         <add name="connStr"  connectionString="Data Source=127.0.0.1;Initial Catalog=db_mytest;User Id=user;Password=111"/>
4     </connectionStrings>
5 </configuration>

  步骤二:

    配置文件写好了.现在我们就来写SqlHelper这个类了.

    在写类的时候,一定要思路清晰,知道具体的步骤,按部就班的来.

    首先要做的必然是建立和数据库的连接.然后才是定义增删改查的方法,代码如下.

    

 1 class SqlHelper
 2 {
 3     private string connStr = ConfigurationManager.ConnectionStrings["connStr"].ConnectionString;
 4     public int ExecuteNonQuery(string sql)
 5     {
 6         using(SqlConnection conn = new SqlConnection(connStr))
 7         {
 8             conn.Open();
 9             using(SqlCommand cmd = conn.CreateCommand())
10             {
11                 cmd.CommandText=sql;
12                 return cmd.ExecuteNonQuery();
13             }
14         }
15     }
16 }                                            

     当然了,我只是写了一个增删改的方法,这个方法返回的是一个int型数据,表示表中受影响的行数.下面是查的方法,因为这个方法返回的是对象类型,所以函数的返回类型为object.

public object ExecuteScalar(string sql)
{
    //同样是先建立连接
    using(SqlConnection conn = new SqlConnection(connStr))
    {
       
        conn.Open(); //打开连接
        using(SqlCommand cmd = conn.CreateCommand())
        {
             cmd.CommandText=sql;
             SqlDataAdapter adapter = new SqlDataAdapter(cmd);
             DataSet dataset = new DataSet();
             adapter.Fill(dataset);
             return dataset;
        }
    }
    
}       

    当然了,以上只是一个简单的原理.落实到具体项目中还有很多需要弥补的地方.比如防止SQL注入,比如更方便的tabledata 函数返回.我会在后面的文章中仔细讲解.

     

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:面试最无耻的问题

下一篇:初识序列化和反序列化,使用BinaryFormatter类、ISerializable接