public void TestInfoMessage() { string sql = "RAISERROR('coucou', 0, 0)"; using (ConnectionParam cnn = new ConnectionParam(myconnectionString, timeOut: 200)) { cnn.OnConnectionInfoMessage += Cnn_OnConnectionInfoMessage; using (DataTable tbl = cnn.ExecuteDataTable(sql)) { } cnn.OnConnectionInfoMessage -= Cnn_OnConnectionInfoMessage; } using (ConnectionParam cnn = new ConnectionParam(myconnectionString, stayConnectionOpen: true, timeOut: 200)) { using (DataTable tbl = cnn.ExecuteDataTable(sql)) { } cnn.OnConnectionInfoMessage += Cnn_OnConnectionInfoMessage; using (DataTable tbl = cnn.ExecuteDataTable(sql)) { } cnn.OnConnectionInfoMessage -= Cnn_OnConnectionInfoMessage; } using (ConnectionParam cnn = new ConnectionParam(myconnectionString, stayConnectionOpen: true, timeOut: 200)) { using (DataTable tbl = cnn.ExecuteDataTable(sql)) { } cnn.OnConnectionInfoMessage += Cnn_OnConnectionInfoMessage; using (DataTable tbl = cnn.ExecuteDataTable(sql)) { } cnn.OnConnectionInfoMessage -= Cnn_OnConnectionInfoMessage; } }
public void TestExecuteDataXXX() { string sql = @" SELECT 0 AS [Index], 'Doc' AS [Name] UNION SELECT 1, null UNION SELECT 2, null UNION SELECT 1, 'titi' UNION SELECT -4, 'rien' ; SELECT object_id, name FROM sys.tables ;"; using (ConnectionParam cnn = new ConnectionParam(myconnectionString, timeOut: 200)) { using (DataSet dst = cnn.ExecuteDataSet(sql, CommandType.Text)) { Assert.IsNotNull(dst, "DataSet initialisé"); AssertAreEqual(dst.Tables.Count, 2, "Nombre de tables"); AssertAreEqual(dst.Tables[0].Rows.Count, 5, "Nombre de lignes dans la première table"); Assert.IsTrue(dst.Tables[1].Rows.Count > 0, "Il n'y a pas de ligne dans la dernière table"); } using (DataTable tbl = cnn.ExecuteDataTable(sql)) { Assert.IsNotNull(tbl, "DataSet initialisé"); AssertAreEqual(tbl.Rows.Count, 5, "Nombre de lignes dans la première table"); } using (DataSet dst = cnn.ExecuteDataSetWithTableName(sql)) { Assert.IsNotNull(dst, "DataSet initialisé"); AssertAreEqual(dst.Tables[0].TableName, "Doc", "Nom de la première table"); AssertAreEqual(dst.Tables[1].TableName, "titi", "Nom de la seconde table"); } } // les cas débiles pour la couverture des tests sql = @" SELECT 0 AS [Index], 'Doc' AS [NotName] UNION SELECT 1, null UNION SELECT 2, null UNION SELECT 1, 'titi' UNION SELECT -4, 'rien' ; SELECT object_id, name FROM sys.tables ;"; using (ConnectionParam cnn = new ConnectionParam(myconnectionString, timeOut: 200)) { using (DataSet dst = cnn.ExecuteDataSetWithTableName(sql)) { Assert.IsNotNull(dst, "DataSet initialisé"); AssertAreEqual(dst.Tables[0].TableName, "Table", "Nom de la première table"); AssertAreEqual(dst.Tables[1].TableName, "Table1", "Nom de la seconde table"); } } sql = @" SELECT 0 AS [NotIndex], 'Doc' AS [Name] UNION SELECT 1, null UNION SELECT 2, null UNION SELECT 1, 'titi' UNION SELECT -4, 'rien' ; SELECT object_id, name FROM sys.tables ;"; using (ConnectionParam cnn = new ConnectionParam(myconnectionString, timeOut: 200)) { using (DataSet dst = cnn.ExecuteDataSetWithTableName(sql)) { Assert.IsNotNull(dst, "DataSet initialisé"); AssertAreEqual(dst.Tables[0].TableName, "Table", "Nom de la première table"); AssertAreEqual(dst.Tables[1].TableName, "Table1", "Nom de la seconde table"); } } // les cas débiles pour la couverture des tests using (ConnectionParam cnn = new ConnectionParam(myconnectionString)) { using (DataTable tbl = cnn.ExecuteDataTable("PRINT 'coucou'")) { Assert.IsNull(tbl, "Table non nulle"); } using (DataSet dst = cnn.ExecuteDataSetWithTableName("print 'zoby'")) { Assert.IsNotNull(dst, "Dataset null"); AssertAreEqual(dst.Tables.Count, 0, "Dataset pas null mais sans tables"); } using (DataSet dst = cnn.ExecuteDataSetWithTableName("SELECT 1 as number")) { Assert.IsNotNull(dst, "DataSet initialisé"); AssertAreEqual(dst.Tables[0].TableName, "Table", "Nom de la première table1"); } using (DataSet dst = cnn.ExecuteDataSetWithTableName("SELECT 1 as number; SELECT 2 as number")) { Assert.IsNotNull(dst, "DataSet initialisé"); AssertAreEqual(dst.Tables[0].TableName, "Table", "Nom de la première table2"); AssertAreEqual(dst.Tables[1].TableName, "Table1", "Nom de la seconde table2"); } } }