C#操作数据库常用的SqlDBhelper

  1. 什么是SQL?

    SQL 是用于访问和处理数据库的标准的计算机语言。

    这类数据库包括:Oracle, Sybase, SQL Server, DB2, Access 等等

  2. 什么是DBhelper?

    全称:DataBaseHelper(数据库助手、数据库帮手)

    DBHelper是一个帮助类,所有关于对数据库的操作都由它负责完成,我们只需专心编写业务代码即可

    所以SqlDBhelper就是适用于Oracle, Sybase, SQL Server, DB2, Access 等数据库的一个帮助类


这里只给出一些常用方法,日常使用足以(按我目前的水准来说…)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data;
using System.Data.SqlClient;

namespace _2002Class
{
class DBHelper
{
//定义连接字符串
private const string str = @"Data Source=.;Initial Catalog=2002Class;User Id=sa;Pwd=sa";

//定义私有sqlConnection字段
private static SqlConnection _conn;

//定义公开sqlConnection属性
public static SqlConnection Conn
{
get
{
if (_conn==null)
{
_conn = new SqlConnection(str);
_conn.Open();
}else if (_conn.State == ConnectionState.Broken)
{
_conn.Close();
_conn.Open();
}else if (_conn.State == ConnectionState.Closed)
{
_conn.Open();
}
return _conn;
}
}

/// <summary>
/// 获取单个值(单行单列)
/// </summary>
/// <returns>返回单行单列的值</returns>
public static object GetOne(string sql)
{
try
{
SqlCommand command = new SqlCommand(sql);
return command.ExecuteScalar();
}
catch (Exception)
{
return null;
}
finally
{
_conn.Close();
}
}

/// <summary>
/// 增删改
/// </summary>
/// <returns>返回受影响的行数</returns>
public static int UpData(string sql)
{
try
{
SqlCommand command = new SqlCommand(sql);
return command.ExecuteNonQuery();
}
catch (Exception)
{
return 0;
}
finally
{
_conn.Close();
}
}

/// <summary>
/// 获取多个值
/// </summary>
/// <returns>返回SqlDataReader对象(数据读取器)</returns>
public static SqlDataReader getOne(string sql)
{
try
{
SqlCommand command = new SqlCommand(sql);
return command.ExecuteReader(CommandBehavior.CloseConnection);
}
catch (Exception)
{
return null;
}
}


/// <summary>
/// 以表格的形式获取数据
/// </summary>
/// <param name="sql"></param>
public static DataTable GetDataTable(string sql)
{
//1.创建DataSet“临时数据库”
DataSet ds = new DataSet();
//2.创建一个"货车"用来"拉货",sql是语句,new SqlConnection是新建一个连接
SqlDataAdapter sda = new SqlDataAdapter(sql,new SqlConnection(str));
//3.拉完“货”就可以“卸货”了
sda.Fill(ds);
//4.返回一个表格结果
return ds.Tables[0];
}

}
}