1+ using System ;
2+ using System . Collections . Generic ;
3+ using System . Configuration ;
4+ using System . Data . SqlClient ;
5+ using System . Data ;
6+ using System . Text ;
7+
8+
9+ namespace OPA . Business . SQLHandler
10+ {
11+ public class SqlHelper
12+ {
13+
14+ public static string GetConnectionString ( int dbId )
15+ {
16+ string ConnString = ConfigurationManager . ConnectionStrings [ "connectionPath" ] . ConnectionString ;
17+ return ConnString ;
18+ }
19+
20+
21+ //public static void ExcuteNonQuery(string query, IDataParameter[] parameters, int dbId )
22+ //{
23+ // string connString;
24+ // try
25+ // {
26+ // //List<SqlParameter> dbParams = new List<SqlParameter>();
27+ // //dbParams.Add(new SqlParameter() { ParameterName = "@PromptID", SqlDbType = SqlDbType.DateTime2, Value = "" });
28+
29+ // connString = GetConnectionString(dbId);
30+ // SqlConnection conn = new SqlConnection(connString);
31+ // if (conn.State == ConnectionState.Closed)
32+ // conn.Open();
33+ // //conn.ConnectionTimeout = 0;
34+ // SqlCommand cmd = new SqlCommand(query, conn);
35+
36+ // if (parameters != null)
37+ // {
38+ // foreach (SqlParameter parameter in parameters)
39+ // {
40+ // cmd.Parameters.Add(parameter.ParameterName, parameter.SqlDbType).Value = parameter.Value;
41+ // }
42+ // }
43+ // //cmd.Parameters.AddRange(dbParams.ToArray());
44+
45+ // cmd.CommandTimeout = 0;
46+ // cmd.ExecuteNonQuery();
47+ // conn.Close();
48+ // }
49+ // catch (Exception ex)
50+ // {
51+
52+
53+ // }
54+ //}
55+
56+ public static string CreateInsertStatement ( string tableName , dynamic opaResponse , out List < SqlParameter > dbParams )
57+ {
58+ StringBuilder sqlStringValues = new StringBuilder ( ) ;
59+ StringBuilder sqlStringKeys = new StringBuilder ( ) ;
60+ dbParams = new List < SqlParameter > ( ) ;
61+
62+ sqlStringKeys . Append ( "INSERT INTO " ) ;
63+ sqlStringKeys . Append ( tableName + " ( " ) ;
64+
65+ foreach ( KeyValuePair < string , object > kvp in opaResponse )
66+ {
67+ sqlStringKeys . Append ( string . Format ( "{0}," , kvp . Key ) ) ;
68+ sqlStringValues . Append ( String . Format ( "@{0}," , kvp . Key ) ) ;
69+ if ( kvp . Value . GetType ( ) == typeof ( DateTime ) )
70+ {
71+ dbParams . Add ( new SqlParameter ( ) { ParameterName = "@" + kvp . Key , SqlDbType = SqlDbType . DateTime2 , Value = kvp . Value } ) ;
72+ }
73+ else
74+ {
75+ dbParams . Add ( new SqlParameter ( ) { ParameterName = "@" + kvp . Key , SqlDbType = SqlDbType . VarChar , Value = kvp . Value } ) ;
76+ }
77+ }
78+ sqlStringKeys . Remove ( sqlStringKeys . Length - 1 , 1 ) ;
79+ sqlStringKeys . Append ( " ) VALUES ( " ) ;
80+
81+ sqlStringValues . Remove ( sqlStringValues . Length - 1 , 1 ) ;
82+ sqlStringValues . Append ( ")" ) ;
83+
84+ sqlStringKeys . Append ( sqlStringValues . ToString ( ) ) ;
85+ return sqlStringKeys . ToString ( ) ;
86+ }
87+
88+ public static int ExcuteNonQuery ( string query , List < SqlParameter > dbParams , int dbId )
89+ {
90+ int noOfRowsEffected ;
91+ SqlCommand cmd ;
92+ SqlConnection conn ;
93+
94+ conn = new SqlConnection ( GetConnectionString ( dbId ) ) ;
95+
96+ if ( conn . State == ConnectionState . Closed )
97+ conn . Open ( ) ;
98+
99+ cmd = new SqlCommand ( query , conn ) ;
100+ cmd . Parameters . AddRange ( dbParams . ToArray ( ) ) ;
101+ noOfRowsEffected = cmd . ExecuteNonQuery ( ) ;
102+ conn . Close ( ) ;
103+
104+ return noOfRowsEffected ;
105+ }
106+
107+ public static DataTable GetDataTableFromProc ( string procName , IDataParameter [ ] parameters , int dbId )
108+ {
109+ DataTable dt ;
110+ using ( var conn = new SqlConnection ( GetConnectionString ( dbId ) ) )
111+ {
112+ var com = new SqlCommand ( ) ;
113+ com . Connection = conn ;
114+ com . CommandType = CommandType . StoredProcedure ;
115+ com . CommandText = procName ;
116+ dt = new DataTable ( ) ;
117+ if ( parameters != null )
118+ {
119+ foreach ( SqlParameter parameter in parameters )
120+ {
121+ com . Parameters . Add ( parameter ) ;
122+ }
123+ }
124+
125+ var adapt = new SqlDataAdapter ( ) ;
126+ adapt . SelectCommand = com ;
127+ var dataset = new DataSet ( ) ;
128+ adapt . Fill ( dataset ) ;
129+ if ( dataset . Tables . Count > 0 )
130+ dt = dataset . Tables [ 0 ] ;
131+
132+ }
133+ return dt ;
134+ }
135+
136+ public static DataTable GetDataTable ( string sqlString , int dbId )
137+ {
138+ var table = new DataTable ( ) ;
139+ using ( var da = new SqlDataAdapter ( sqlString , GetConnectionString ( dbId ) ) )
140+ {
141+ da . Fill ( table ) ;
142+ }
143+ return table ;
144+ }
145+
146+ public static string ExecuteScalar ( string sqlString , IDataParameter [ ] parameters , int dbId )
147+ {
148+ SqlConnection cnn ;
149+ SqlCommand cmd ;
150+ string result = string . Empty ;
151+
152+ using ( cnn = new SqlConnection ( GetConnectionString ( dbId ) ) )
153+ {
154+ cnn . Open ( ) ;
155+ cmd = new SqlCommand ( sqlString , cnn ) ;
156+ if ( parameters != null )
157+ {
158+ foreach ( SqlParameter parameter in parameters )
159+ {
160+ cmd . Parameters . Add ( parameter ) ;
161+ }
162+ }
163+
164+ result = Convert . ToString ( cmd . ExecuteScalar ( ) ) ;
165+ cmd . Dispose ( ) ;
166+ cnn . Close ( ) ;
167+ }
168+ return result ;
169+ }
170+ }
171+ }
0 commit comments