Repository navigation
Expand file tree
/
Copy pathDataAccess.cs
More file actions
135 lines (112 loc) · 3.54 KB
/
Copy pathDataAccess.cs
File metadata and controls
135 lines (112 loc) · 3.54 KB
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
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data;
using System.Data.SqlClient;
using System.Xml.Linq;
using System.Configuration;
namespace Golem.DBManagement
{
public class DataAccess
{
private static string SqlScriptsPath
{
get
{
return ConfigurationManager.AppSettings["SqlScriptsPath"];
}
}
#region Public Methods
public static void ExecuteTransactions(string entity, string queryID)
{
using (IDBManager dbManager = GetSqlConnection())
{
try
{
dbManager.BeginTransaction();
dbManager.ExecuteNonQuery(CommandType.Text, GetSqlQuery(entity, queryID));
dbManager.CommitTransaction();
}
catch
{
dbManager.RollBackTransaction();
}
finally
{
}
}
}
//Example to use dataset
public static void ExecuteDataset(string commandText)
{
using (IDBManager dbManager = GetSqlConnection())
{
try
{
dbManager.ExecuteDataSet(CommandType.Text, commandText);
DataTable dTable = dbManager.DataSet.Tables["Table"];
foreach (DataRow row in dTable.Rows)
{
Console.WriteLine("NewRow");
Console.WriteLine("===========");
foreach (DataColumn col in dTable.Columns)
{
Console.WriteLine(col.ColumnName.ToString() + ":" + row[col].ToString());
}
}
}
finally
{
}
}
}
public static object ExecuteScalar(string entity, string queryID)
{
using (IDBManager dbManager = GetSqlConnection())
{
try
{
object obj = dbManager.ExecuteScalar(CommandType.Text, GetSqlQuery(entity, queryID));
return obj;
}
finally
{
dbManager.Dispose();
}
}
}
public static string GetSqlQuery(string fileName, string queryId)
{
//string s;
XDocument doc = XDocument.Load(SqlScriptsPath + fileName);
var queryStrings = from q in doc.Elements("Queries").Elements("Query")
where (string)q.Attribute("id") == queryId
select q.Value.ToString();
foreach (var queryString in queryStrings)
{
return queryString.ToString().Replace("\n", " ");
}
return string.Empty;
}
public static IDBManager GetSqlConnection()
{
IDBManager dbManager = new DBManager(DataProvider.SqlServer);
dbManager.ConnectionString = ConfigurationManager.ConnectionStrings["GolemDB"].ConnectionString;
try
{
dbManager.Open();
}
catch
{
dbManager.Dispose();
}
finally
{
}
return dbManager;
}
#endregion
}
}