Skip to content

Commit 550b5f0

Browse files
committed
Updates: Execute Command DML rows afffected
1 parent 2e1d5d3 commit 550b5f0

File tree

11 files changed

+181
-57
lines changed

11 files changed

+181
-57
lines changed

QueryDB.Core.Tests/MSSQLTests.cs

Lines changed: 26 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -308,11 +308,11 @@ public void Test_MSSQL_FetchData_Entity_Strict_Error_Check()
308308

309309
#endregion
310310

311-
#region Execute DDL Tests - << void ExecuteDDL(string ddlStatement) >>
311+
#region Execute Command Tests - << void ExecuteCommand(string sqlStatement) >>
312312

313313
[TestMethod]
314314
[TestCategory(DB_TESTS), TestCategory(MSSQL_TESTS)]
315-
public void Test_MSSQL_ExecuteDDL_Queries()
315+
public void Test_MSSQL_ExecuteCommand_DDL_Queries()
316316
{
317317
var createTableSql = Queries.MSSQLQueries.TestDB.DDL.Create_Table;
318318
var alterTableSql = Queries.MSSQLQueries.TestDB.DDL.Alter_Table;
@@ -326,11 +326,11 @@ public void Test_MSSQL_ExecuteDDL_Queries()
326326
var dDLTableColumnCommentCheckSql = Queries.MSSQLQueries.TestDB.DDL.DDL_Table_Column_Comment_check;
327327

328328
var dbContext = new DBContext(DB.MSSQL, MSSQLConnectionString);
329-
dbContext.ExecuteDDL(createTableSql);
330-
dbContext.ExecuteDDL(alterTableSql);
331-
dbContext.ExecuteDDL(commentTableSql);
332-
dbContext.ExecuteDDL(commentTableColumnSql);
333-
dbContext.ExecuteDDL(truncateTableSql);
329+
dbContext.ExecuteCommand(createTableSql);
330+
dbContext.ExecuteCommand(alterTableSql);
331+
dbContext.ExecuteCommand(commentTableSql);
332+
dbContext.ExecuteCommand(commentTableColumnSql);
333+
dbContext.ExecuteCommand(truncateTableSql);
334334

335335
var tableCount = dbContext
336336
.FetchData(string.Format(dDLExecutionCheckSql, "dbo", "Employee"));
@@ -342,7 +342,7 @@ public void Test_MSSQL_ExecuteDDL_Queries()
342342
.FetchData(string.Format(dDLTableColumnCommentCheckSql, "dbo", "Employee"));
343343
Assert.AreEqual("This column stores employee middle name", tableColumnComment[0].ReferenceData["Table_Column_Comment"]);
344344

345-
dbContext.ExecuteDDL(renameTableSql);
345+
dbContext.ExecuteCommand(renameTableSql);
346346

347347
tableCount = dbContext
348348
.FetchData(string.Format(dDLExecutionCheckSql, "dbo", "Employee"));
@@ -351,13 +351,30 @@ public void Test_MSSQL_ExecuteDDL_Queries()
351351
.FetchData(string.Format(dDLExecutionCheckSql, "dbo", "Employees"));
352352
Assert.AreEqual("1", tableCount[0].ReferenceData["Table_Count"]);
353353

354-
dbContext.ExecuteDDL(dropTableSql);
354+
dbContext.ExecuteCommand(dropTableSql);
355355

356356
tableCount = dbContext
357357
.FetchData(string.Format(dDLExecutionCheckSql, "dbo", "Employees"));
358358
Assert.AreEqual("0", tableCount[0].ReferenceData["Table_Count"]);
359359
}
360360

361+
[TestMethod]
362+
[TestCategory(DB_TESTS), TestCategory(MSSQL_TESTS)]
363+
public void Test_MSSQL_ExecuteCommand_DML_Queries()
364+
{
365+
var insertSql = Queries.MSSQLQueries.TestDB.DML.InsertSql;
366+
var updateSql = Queries.MSSQLQueries.TestDB.DML.UpdateSql;
367+
var deleteSql = Queries.MSSQLQueries.TestDB.DML.DeleteSql;
368+
369+
var dbContext = new DBContext(DB.MSSQL, MSSQLConnectionString);
370+
var rows = dbContext.ExecuteCommand(insertSql);
371+
Assert.AreEqual(1, rows);
372+
rows = dbContext.ExecuteCommand(updateSql);
373+
Assert.AreEqual(1, rows);
374+
rows = dbContext.ExecuteCommand(deleteSql);
375+
Assert.AreEqual(1, rows);
376+
}
377+
361378
#endregion
362379

363380
#endregion

QueryDB.Core.Tests/MySQLTests.cs

Lines changed: 26 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -288,11 +288,11 @@ public void Test_MySQL_FetchData_Entity_Strict_Error_Check()
288288

289289
#endregion
290290

291-
#region Execute DDL Tests - << void ExecuteDDL(string ddlStatement) >>
291+
#region Execute Command Tests - << void ExecuteCommand(string sqlStatement) >>
292292

293293
[TestMethod]
294294
[TestCategory(DB_TESTS), TestCategory(MYSQL_TESTS)]
295-
public void Test_MySQL_ExecuteDDL_Queries()
295+
public void Test_MySQL_ExecuteCommand_DDL_Queries()
296296
{
297297
var createTableSql = Queries.MySQLQueries.TestDB.DDL.Create_Table;
298298
var alterTableSql = Queries.MySQLQueries.TestDB.DDL.Alter_Table;
@@ -306,11 +306,11 @@ public void Test_MySQL_ExecuteDDL_Queries()
306306
var dDLTableColumnCommentCheckSql = Queries.MySQLQueries.TestDB.DDL.DDL_Table_Column_Comment_check;
307307

308308
var dbContext = new DBContext(DB.MySQL, MySQLConnectionString);
309-
dbContext.ExecuteDDL(createTableSql);
310-
dbContext.ExecuteDDL(alterTableSql);
311-
dbContext.ExecuteDDL(commentTableSql);
312-
dbContext.ExecuteDDL(commentTableColumnSql);
313-
dbContext.ExecuteDDL(truncateTableSql);
309+
dbContext.ExecuteCommand(createTableSql);
310+
dbContext.ExecuteCommand(alterTableSql);
311+
dbContext.ExecuteCommand(commentTableSql);
312+
dbContext.ExecuteCommand(commentTableColumnSql);
313+
dbContext.ExecuteCommand(truncateTableSql);
314314

315315
var tableCount = dbContext
316316
.FetchData(string.Format(dDLExecutionCheckSql, "mysql", "Employee"));
@@ -322,7 +322,7 @@ public void Test_MySQL_ExecuteDDL_Queries()
322322
.FetchData(string.Format(dDLTableColumnCommentCheckSql, "mysql", "Employee"));
323323
Assert.AreEqual("This column stores employee middle name", tableColumnComment[3].ReferenceData["Table_Column_Comment"]);
324324

325-
dbContext.ExecuteDDL(renameTableSql);
325+
dbContext.ExecuteCommand(renameTableSql);
326326

327327
tableCount = dbContext
328328
.FetchData(string.Format(dDLExecutionCheckSql, "mysql", "Employee"));
@@ -331,13 +331,30 @@ public void Test_MySQL_ExecuteDDL_Queries()
331331
.FetchData(string.Format(dDLExecutionCheckSql, "mysql", "Employees"));
332332
Assert.AreEqual("1", tableCount[0].ReferenceData["Table_Count"]);
333333

334-
dbContext.ExecuteDDL(dropTableSql);
334+
dbContext.ExecuteCommand(dropTableSql);
335335

336336
tableCount = dbContext
337337
.FetchData(string.Format(dDLExecutionCheckSql, "mysql", "Employees"));
338338
Assert.AreEqual("0", tableCount[0].ReferenceData["Table_Count"]);
339339
}
340340

341+
[TestMethod]
342+
[TestCategory(DB_TESTS), TestCategory(MYSQL_TESTS)]
343+
public void Test_MySQL_ExecuteCommand_DML_Queries()
344+
{
345+
var insertSql = Queries.MySQLQueries.TestDB.DML.InsertSql;
346+
var updateSql = Queries.MySQLQueries.TestDB.DML.UpdateSql;
347+
var deleteSql = Queries.MySQLQueries.TestDB.DML.DeleteSql;
348+
349+
var dbContext = new DBContext(DB.MySQL, MySQLConnectionString);
350+
var rows = dbContext.ExecuteCommand(insertSql);
351+
Assert.AreEqual(1, rows);
352+
rows = dbContext.ExecuteCommand(updateSql);
353+
Assert.AreEqual(1, rows);
354+
rows = dbContext.ExecuteCommand(deleteSql);
355+
Assert.AreEqual(1, rows);
356+
}
357+
341358
#endregion
342359

343360
#endregion

QueryDB.Core.Tests/OracleTests.cs

Lines changed: 26 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -290,11 +290,11 @@ public void Test_Oracle_FetchData_Entity_Strict_Error_Check()
290290

291291
#endregion
292292

293-
#region Execute DDL Tests - << void ExecuteDDL(string ddlStatement) >>
293+
#region Execute Command Tests - << void ExecuteCommand(string sqlStatement) >>
294294

295295
[TestMethod]
296296
[TestCategory(DB_TESTS), TestCategory(ORACLE_TESTS)]
297-
public void Test_Oracle_ExecuteDDL_Queries()
297+
public void Test_Oracle_ExecuteCommand_DDL_Queries()
298298
{
299299
var createTableSql = Queries.OracleQueries.TestDB.DDL.Create_Table;
300300
var alterTableSql = Queries.OracleQueries.TestDB.DDL.Alter_Table;
@@ -308,11 +308,11 @@ public void Test_Oracle_ExecuteDDL_Queries()
308308
var dDLTableColumnCommentCheckSql = Queries.OracleQueries.TestDB.DDL.DDL_Table_Column_Comment_check;
309309

310310
var dbContext = new DBContext(DB.Oracle, OracleConnectionString);
311-
dbContext.ExecuteDDL(createTableSql);
312-
dbContext.ExecuteDDL(alterTableSql);
313-
dbContext.ExecuteDDL(commentTableSql);
314-
dbContext.ExecuteDDL(commentTableColumnSql);
315-
dbContext.ExecuteDDL(truncateTableSql);
311+
dbContext.ExecuteCommand(createTableSql);
312+
dbContext.ExecuteCommand(alterTableSql);
313+
dbContext.ExecuteCommand(commentTableSql);
314+
dbContext.ExecuteCommand(commentTableColumnSql);
315+
dbContext.ExecuteCommand(truncateTableSql);
316316

317317
var tableCount = dbContext
318318
.FetchData(string.Format(dDLExecutionCheckSql, "Employee"));
@@ -324,7 +324,7 @@ public void Test_Oracle_ExecuteDDL_Queries()
324324
.FetchData(string.Format(dDLTableColumnCommentCheckSql, "Employee"));
325325
Assert.AreEqual("This column stores employee middle name", tableColumnComment[3].ReferenceData["TABLE_COLUMN_COMMENT"]);
326326

327-
dbContext.ExecuteDDL(renameTableSql);
327+
dbContext.ExecuteCommand(renameTableSql);
328328

329329
tableCount = dbContext
330330
.FetchData(string.Format(dDLExecutionCheckSql, "Employee"));
@@ -333,13 +333,30 @@ public void Test_Oracle_ExecuteDDL_Queries()
333333
.FetchData(string.Format(dDLExecutionCheckSql, "Employees"));
334334
Assert.AreEqual("1", tableCount[0].ReferenceData["TABLE_COUNT"]);
335335

336-
dbContext.ExecuteDDL(dropTableSql);
336+
dbContext.ExecuteCommand(dropTableSql);
337337

338338
tableCount = dbContext
339339
.FetchData(string.Format(dDLExecutionCheckSql, "Employees"));
340340
Assert.AreEqual("0", tableCount[0].ReferenceData["TABLE_COUNT"]);
341341
}
342342

343+
[TestMethod]
344+
[TestCategory(DB_TESTS), TestCategory(ORACLE_TESTS)]
345+
public void Test_Oracle_ExecuteCommand_DML_Queries()
346+
{
347+
var insertSql = Queries.OracleQueries.TestDB.DML.InsertSql;
348+
var updateSql = Queries.OracleQueries.TestDB.DML.UpdateSql;
349+
var deleteSql = Queries.OracleQueries.TestDB.DML.DeleteSql;
350+
351+
var dbContext = new DBContext(DB.Oracle, OracleConnectionString);
352+
var rows = dbContext.ExecuteCommand(insertSql);
353+
Assert.AreEqual(1, rows);
354+
rows = dbContext.ExecuteCommand(updateSql);
355+
Assert.AreEqual(1, rows);
356+
rows = dbContext.ExecuteCommand(deleteSql);
357+
Assert.AreEqual(1, rows);
358+
}
359+
343360
#endregion
344361

345362
#endregion

QueryDB.Core.Tests/PostgreSQLTests.cs

Lines changed: 27 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -282,11 +282,11 @@ public void Test_PostgreSQL_FetchData_Entity_Strict_Error_Check()
282282

283283
#endregion
284284

285-
#region Execute DDL Tests - << void ExecuteDDL(string ddlStatement) >>
285+
#region Execute Command Tests - << void ExecuteCommand(string sqlStatement) >>
286286

287287
[TestMethod]
288288
[TestCategory(DB_TESTS), TestCategory(POSTGRESQL_TESTS)]
289-
public void Test_PostgreSQL_ExecuteDDL_Queries()
289+
public void Test_PostgreSQL_ExecuteCommand_DDL_Queries()
290290
{
291291
var createTableSql = Queries.PostgreSQLQueries.TestDB.DDL.Create_Table;
292292
var alterTableSql = Queries.PostgreSQLQueries.TestDB.DDL.Alter_Table;
@@ -300,11 +300,11 @@ public void Test_PostgreSQL_ExecuteDDL_Queries()
300300
var dDLTableColumnCommentCheckSql = Queries.PostgreSQLQueries.TestDB.DDL.DDL_Table_Column_Comment_check;
301301

302302
var dbContext = new DBContext(DB.PostgreSQL, PostgreSQLConnectionString);
303-
dbContext.ExecuteDDL(createTableSql);
304-
dbContext.ExecuteDDL(alterTableSql);
305-
dbContext.ExecuteDDL(commentTableSql);
306-
dbContext.ExecuteDDL(commentTableColumnSql);
307-
dbContext.ExecuteDDL(truncateTableSql);
303+
dbContext.ExecuteCommand(createTableSql);
304+
dbContext.ExecuteCommand(alterTableSql);
305+
dbContext.ExecuteCommand(commentTableSql);
306+
dbContext.ExecuteCommand(commentTableColumnSql);
307+
dbContext.ExecuteCommand(truncateTableSql);
308308

309309
var tableCount = dbContext
310310
.FetchData(string.Format(dDLExecutionCheckSql, "public", "Employee"));
@@ -316,7 +316,7 @@ public void Test_PostgreSQL_ExecuteDDL_Queries()
316316
.FetchData(string.Format(dDLTableColumnCommentCheckSql, "public", "Employee"));
317317
Assert.AreEqual("This column stores employee middle name", tableColumnComment[3].ReferenceData["table_column_comment"]);
318318

319-
dbContext.ExecuteDDL(renameTableSql);
319+
dbContext.ExecuteCommand(renameTableSql);
320320

321321
tableCount = dbContext
322322
.FetchData(string.Format(dDLExecutionCheckSql, "public", "Employee"));
@@ -325,13 +325,31 @@ public void Test_PostgreSQL_ExecuteDDL_Queries()
325325
.FetchData(string.Format(dDLExecutionCheckSql, "public", "Employees"));
326326
Assert.AreEqual("1", tableCount[0].ReferenceData["table_count"]);
327327

328-
dbContext.ExecuteDDL(dropTableSql);
328+
dbContext.ExecuteCommand(dropTableSql);
329329

330330
tableCount = dbContext
331331
.FetchData(string.Format(dDLExecutionCheckSql, "public", "Employees"));
332332
Assert.AreEqual("0", tableCount[0].ReferenceData["table_count"]);
333333
}
334334

335+
[TestMethod]
336+
[TestCategory(DB_TESTS), TestCategory(POSTGRESQL_TESTS)]
337+
public void Test_PostgreSQL_ExecuteCommand_DML_Queries()
338+
{
339+
var insertSql = Queries.PostgreSQLQueries.TestDB.DML.InsertSql;
340+
var updateSql = Queries.PostgreSQLQueries.TestDB.DML.UpdateSql;
341+
var deleteSql = Queries.PostgreSQLQueries.TestDB.DML.DeleteSql;
342+
343+
var dbContext = new DBContext(DB.PostgreSQL, PostgreSQLConnectionString);
344+
var rows = dbContext.ExecuteCommand(insertSql);
345+
Assert.AreEqual(1, rows);
346+
rows = dbContext.ExecuteCommand(updateSql);
347+
Assert.AreEqual(1, rows);
348+
rows = dbContext.ExecuteCommand(deleteSql);
349+
Assert.AreEqual(1, rows);
350+
351+
}
352+
335353
#endregion
336354

337355
#endregion

QueryDB.Core.Tests/Queries.cs

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,9 +34,15 @@ internal static class DDL
3434
internal static string DDL_Table_Comment_check = @"SELECT value AS Table_Comment FROM fn_listextendedproperty(NULL, 'SCHEMA', '{0}', 'TABLE', '{1}', NULL, NULL)";
3535
internal static string DDL_Table_Column_Comment_check = @"SELECT value AS Table_Column_Comment FROM fn_listextendedproperty(NULL, 'SCHEMA', '{0}', 'TABLE', '{1}', 'COLUMN', 'MiddleName')";
3636
}
37+
internal static class DML
38+
{
39+
internal static string InsertSql = @"INSERT INTO Agents VALUES ('A020', 'John', 'Wick', '0.11', '010-44536178', '')";
40+
internal static string UpdateSql = @"UPDATE Agents SET Commission = '0.15' WHERE Agent_Code = 'A020'";
41+
internal static string DeleteSql = @"DELETE FROM Agents WHERE Agent_Code = 'A020'";
42+
}
3743
}
3844
}
39-
45+
4046
internal static class MySQLQueries
4147
{
4248
internal static class Smoke
@@ -69,6 +75,12 @@ internal static class DDL
6975
internal static string DDL_Table_Comment_check = @"SELECT Table_Name, Table_Comment AS Table_Comment FROM Information_Schema.Tables WHERE LOWER(Table_Schema) = LOWER('{0}') AND LOWER(Table_Name) = LOWER('{1}')";
7076
internal static string DDL_Table_Column_Comment_check = @"SELECT Column_Name, Column_Comment AS Table_Column_Comment FROM Information_Schema.Columns WHERE LOWER(Table_Schema) = LOWER('{0}') AND LOWER(Table_Name) = LOWER('{1}')";
7177
}
78+
internal static class DML
79+
{
80+
internal static string InsertSql = @"INSERT INTO Agents VALUES ('A020', 'John', 'Wick', '0.11', '010-44536178', '')";
81+
internal static string UpdateSql = @"UPDATE Agents SET Commission = '0.15' WHERE Agent_Code = 'A020'";
82+
internal static string DeleteSql = @"DELETE FROM Agents WHERE Agent_Code = 'A020'";
83+
}
7284
}
7385
}
7486

@@ -104,6 +116,12 @@ internal static class DDL
104116
internal static string DDL_Table_Comment_check = @"SELECT Table_Name, Comments AS Table_Comment FROM All_Tab_Comments WHERE LOWER(Table_Name) = LOWER('{0}')";
105117
internal static string DDL_Table_Column_Comment_check = @"SELECT Column_Name, Comments AS Table_Column_Comment FROM All_Col_Comments WHERE LOWER(Table_Name) = LOWER('{0}')";
106118
}
119+
internal static class DML
120+
{
121+
internal static string InsertSql = @"INSERT INTO Agents VALUES ('A020', 'John', 'Wick', '0.11', '010-44536178', '')";
122+
internal static string UpdateSql = @"UPDATE Agents SET Commission = '0.15' WHERE Agent_Code = 'A020'";
123+
internal static string DeleteSql = @"DELETE FROM Agents WHERE Agent_Code = 'A020'";
124+
}
107125
}
108126
}
109127

@@ -139,6 +157,12 @@ internal static class DDL
139157
internal static string DDL_Table_Comment_check = @"SELECT Table_Name, Obj_Description(Table_Name::Regclass) AS Table_Comment FROM Information_Schema.Tables WHERE LOWER(Table_Schema) = LOWER('{0}') AND LOWER(Table_Name) = LOWER('{1}')";
140158
internal static string DDL_Table_Column_Comment_check = @"SELECT Column_Name, Col_Description(Table_Name::Regclass, Ordinal_Position) AS Table_Column_Comment FROM Information_Schema.Columns WHERE LOWER(Table_Schema) = LOWER('{0}') AND LOWER(Table_Name) = LOWER('{1}')";
141159
}
160+
internal static class DML
161+
{
162+
internal static string InsertSql = @"INSERT INTO Agents VALUES ('A020', 'John', 'Wick', '0.11', '010-44536178', '')";
163+
internal static string UpdateSql = @"UPDATE Agents SET Commission = '0.15' WHERE Agent_Code = 'A020'";
164+
internal static string DeleteSql = @"DELETE FROM Agents WHERE Agent_Code = 'A020'";
165+
}
142166
}
143167
}
144168
}

QueryDB/DBContext.cs

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -142,40 +142,46 @@ public List<DataDictionary> FetchData(string selectSql, bool upperCaseKeys = fal
142142
return dataList;
143143
}
144144

145-
public void ExecuteDDL(string ddlStatement)
145+
/// <summary>
146+
/// Executes SQL commands.
147+
/// </summary>
148+
/// <param name="sqlStatement">SQL statement as command.</param>
149+
/// <returns>The number of rows affected.</returns>
150+
public int ExecuteCommand(string sqlStatement)
146151
{
147152
if (Database.Equals(DB.MSSQL))
148153
{
149154
using (var msSqlDBConnection = GetSqlServerConnection())
150155
{
151156
var _systemAdapter = new MSSQL.Adapter();
152-
_systemAdapter.ExecuteDDL(ddlStatement, msSqlDBConnection.SqlConnection);
157+
return _systemAdapter.ExecuteCommand(sqlStatement, msSqlDBConnection.SqlConnection);
153158
}
154159
}
155160
else if (Database.Equals(DB.MySQL))
156161
{
157162
using (var mySqlDBConnection = GetMySqlConnection())
158163
{
159164
var _systemAdapter = new MySQL.Adapter();
160-
_systemAdapter.ExecuteDDL(ddlStatement, mySqlDBConnection.MySqlConnection);
165+
return _systemAdapter.ExecuteCommand(sqlStatement, mySqlDBConnection.MySqlConnection);
161166
}
162167
}
163168
else if (Database.Equals(DB.Oracle))
164169
{
165170
using (var oracleDBConnection = GetOracleConnection())
166171
{
167172
var _systemAdapter = new Oracle.Adapter();
168-
_systemAdapter.ExecuteDDL(ddlStatement, oracleDBConnection.OracleConnection);
173+
return _systemAdapter.ExecuteCommand(sqlStatement, oracleDBConnection.OracleConnection);
169174
}
170175
}
171176
else if (Database.Equals(DB.PostgreSQL))
172177
{
173178
using (var postgreSqlDBConnection = GetPostgreSqlConnection())
174179
{
175180
var _systemAdapter = new PostgreSQL.Adapter();
176-
_systemAdapter.ExecuteDDL(ddlStatement, postgreSqlDBConnection.PostgreSQLConnection);
181+
return _systemAdapter.ExecuteCommand(sqlStatement, postgreSqlDBConnection.PostgreSQLConnection);
177182
}
178183
}
184+
return -1;
179185
}
180186

181187
/// <summary>

0 commit comments

Comments
 (0)