1
using System;
2
using System.Data.SqlClient;
3
using System.Data;
4
using System.IO;
5
using System.Windows.Forms;
6
using System.Collections;
7
namespace SQL
8
...{
9
/**//// <summary>
10
/// 作 者:殷庆飞
11
/// 时 间:2008-8-1
12
/// 用 途:封装针对SQL Server的所有操作
13
/// 修 改 人:
14
/// 修改日期:
15
/// </summary>
16
public class SQL
17
...{
18
变量和结构#region 变量和结构
19
public static SqlConnection Connection = null; //数据库连接对象
20
public static SqlTransaction Transaction = null; //数据库事务
21
public static bool IsInTransaction = false; //是否在事务中
22
23
//ParameterEx结构
24
public struct ParameterEx
25
...{
26
/**//// <summary>
27
/// 参数名称
28
/// </summary>
29
public string Text;
30
/**//// <summary>
31
/// 参数值
32
/// </summary>
33
public object Value;
34
/**//// <summary>
35
/// 参数数据类型
36
/// </summary>
37
public object DataType;
38
/**//// <summary>
39
/// 参数传入传出方向
40
/// </summary>
41
public object ParaDirection;
42
/**//// <summary>
43
/// 参数大小
44
/// </summary>
45
public object ParaSize;
46
}
47
48
49
#endregion
50
51
构造函数#region 构造函数
52
public SQL()
53
...{
54
string ConnectionText; //Store The Connection Sentence for Database
55
if (Connection == null)
56
...{
57
ConnectionText = ReadConn();
58
Connection = new SqlConnection( ConnectionText );
59
try
60
...{
61
Connection.Open(); //Open Database
62
}
63
catch(Exception e)
64
...{
65
Connection = null;
66
MessageBox.Show("连接数据库失败!\n错误信息:" + e.Message, "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
67
}
68
}
69
}
70
#endregion
71
72
读写数据库连接字符串#region 读写数据库连接字符串
73
74
//写连接字符串
75
public static void WriteConn(string conn, string conn2, string conn3, string conn4)
76
...{
77
conn = Crypt.EncryptAndDecrypt.Encryption( conn );
78
conn2 = Crypt.EncryptAndDecrypt.Encryption( conn2 );
79
conn3 = Crypt.EncryptAndDecrypt.Encryption( conn3 );
80
conn4 = Crypt.EncryptAndDecrypt.Encryption( conn4 );
81
Crypt.EncryptAndDecrypt.WriteIniString("ConnectionCofig", "Server", conn, System.IO.Directory.GetCurrentDirectory()+ "\\DatabaseConnection.ini");
82
Crypt.EncryptAndDecrypt.WriteIniString("ConnectionCofig", "Database", conn2, System.IO.Directory.GetCurrentDirectory()+ "\\DatabaseConnection.ini");
83
Crypt.EncryptAndDecrypt.WriteIniString("ConnectionCofig", "User ID", conn3, System.IO.Directory.GetCurrentDirectory()+ "\\DatabaseConnection.ini");
84
Crypt.EncryptAndDecrypt.WriteIniString("ConnectionCofig", "Password", conn4, System.IO.Directory.GetCurrentDirectory()+ "\\DatabaseConnection.ini");
85
}
86
//读连接字符串
87
public static string ReadConn()
88
...{
89
string conns = Crypt.EncryptAndDecrypt.Decryption(Crypt.EncryptAndDecrypt.GetIniString("ConnectionCofig", "Server", Directory.GetCurrentDirectory ()+ "\\DatabaseConnection.ini"));
90
string conns2 = Crypt.EncryptAndDecrypt.Decryption(Crypt.EncryptAndDecrypt.GetIniString("ConnectionCofig", "Database", Directory.GetCurrentDirectory ()+ "\\DatabaseConnection.ini"));
91
string conns3 = Crypt.EncryptAndDecrypt.Decryption(Crypt.EncryptAndDecrypt.GetIniString("ConnectionCofig", "User ID", Directory.GetCurrentDirectory ()+ "\\DatabaseConnection.ini"));
92
string conns4 = Crypt.EncryptAndDecrypt.Decryption(Crypt.EncryptAndDecrypt.GetIniString("ConnectionCofig", "Password", Directory.GetCurrentDirectory ()+ "\\DatabaseConnection.ini"));
93
string str = "Server = " + conns + ";Database = " + conns2 + ";User ID = " + conns3 + ";Password = " + conns4 + ";";
94
return str;
95
}
96
#endregion
97
98
设置和回传参数#region 设置和回传参数
99
//设置参数到SqlCommand
100
public static void SetParameters(SqlCommand cmd, ParameterEx[] parameters)
101
...{
102
if(parameters != null)
103
...{
104
for(int i = 0;i < parameters.GetLength(0); i++)
105
...{
106
if ((ParameterDirection)parameters[i].ParaDirection == ParameterDirection.Output)
107
...{
108
if (parameters[i].ParaSize == null)
109
...{
110
cmd.Parameters.Add(new SqlParameter((string)parameters[i].Text, (SqlDbType)parameters[i].DataType)).Direction=(ParameterDirection)parameters[i].ParaDirection;
111
}
112
else
113
...{
114
cmd.Parameters.Add(new SqlParameter((string)parameters[i].Text, (SqlDbType)parameters[i].DataType,(int)parameters[i].ParaSize)).Direction=(ParameterDirection)parameters[i].ParaDirection;
115
}
116
117
}
118
else
119
...{
120
if (parameters[i].ParaSize == null)
121
...{
122
一个针对SQLServer操作的封装类
SQL Server 操作封装
本文介绍了一个用于封装 SQL Server 数据库操作的 C# 类。该类提供了连接数据库、设置参数等基本功能,并通过结构化参数简化了存储过程的调用。文章详细展示了如何安全地读取和写入数据库连接字符串。

被折叠的 条评论
为什么被折叠?



