public void TestAsyncDataSet()
        {
            string  sql = @"
SELECT 3 AS id
SELECT 4 as id, 'toto' as name
";
            DataSet dst = null;

            using (ConnectionParam cnn = new ConnectionParam(myconnectionString, timeOut: 200))
            {
                dst = Task.Run(() => cnn.ExecuteDataSetAsync(sql)).Result;
            }

            Assert.IsNotNull(dst, "Resultat ExecuteDataSetAsync ?");
            Assert.AreEqual(dst.Tables.Count, 2, "Resultat ExecuteDataSetAsync Nombre de table KO");
            Assert.AreEqual(dst.Tables[0].Rows.Count, 1, "Resultat ExecuteDataSetAsync T[0] nbRows KO");
            int n = SqlConvert.To(dst.Tables[0].Rows[0], "id", 0);

            Assert.AreEqual(n, 3, "Resultat ExecuteDataSetAsync Table[0].Rows[0][id] == 3 KO");

            Assert.AreEqual(dst.Tables[1].Rows.Count, 1, "Resultat ExecuteDataSetAsync T[1] nbRows KO");
            n = SqlConvert.To(dst.Tables[1].Rows[0], "id", 0);
            Assert.AreEqual(n, 4, "Resultat ExecuteDataSetAsync Table[1].Rows[0][id] == 4 KO");
            string nom = SqlConvert.To(dst.Tables[1].Rows[0], "name", string.Empty);

            Assert.AreEqual(nom, "toto", "Resultat ExecuteDataSetAsync Table[1].Rows[0][name] == toto KO");
        }
Beispiel #2
0
        private async Task ProcessingDataSet()
        {
            this.Start();

            string  sql = @"
DECLARE @i int = 0;
DECLARE @msg VARCHAR(50);
WHILE @i < 1000000
BEGIN
   SET @msg = 'i = '+ Convert(VARCHAR(10), @i);
   IF ((@i % 100 ) = 0) 
    RAISERROR (@msg, 10, 0);
   SET @i = @i+1;
END
;

 SELECT TOP 10 t.object_id, t.name FROM sys.tables t
;
 SELECT TOp 20 c.object_id, c.name, c.column_id FROm sys.columns c
;";
            DataSet dst = null;

            using (ConnectionParam cnn = new ConnectionParam(ConnectionString))
            {
                dst = await cnn.ExecuteDataSetAsync(sql);
            }

            this.Stop(dst);
        }