Ejemplo n.º 1
0
 public void CommandWhenAdd_N_Params_IncreasesSizeByN()
 {
     using(SqlCommand command = new SqlCommand()){
         command.AddParams(
             new Param("Name1", "Value1"),
             new Param("Name2", "Value2"),
             new Param("Name3", "Value3")
         );
         Assert.AreEqual(3, command.Parameters.Count);
     }
 }
Ejemplo n.º 2
0
 public void CommandWhenAdd_N_Params_HasMatchingValues()
 {
     using(SqlCommand command = new SqlCommand()){
         command.AddParams(
             new Param("Name1", "Value1"),
             new Param("Name2", "Value2"),
             new Param("Name3", "Value3")
         );
         Assert.AreEqual("Value2", command.Parameters[1].Value);
     }
 }
Ejemplo n.º 3
0
 /// <summary>
 /// Executes the reader using SQL async API - thanks to Damian Edwards
 /// </summary>
 public void QueryAsync(string sql, Action<List<dynamic>> callback, params object[] args)
 {
     using (var conn = new SqlConnection(ConnectionProfile.ConnectionString))
     {
         var cmd = new SqlCommand(sql, new SqlConnection(ConnectionProfile.ConnectionString));
         cmd.AddParams(args);
         cmd.Connection.Open();
         var task = Task.Factory.FromAsync<IDataReader>(cmd.BeginExecuteReader, cmd.EndExecuteReader, null);
         task.ContinueWith(x => callback.Invoke(x.Result.ToGeminiList(Projection)));
         //make sure this is closed off.
         conn.Close();
     }
 }
Ejemplo n.º 4
0
        /// <summary>
        /// Executes the reader using SQL async API - thanks to Damian Edwards
        /// </summary>
        public void QueryAsync(string sql, Action<List<dynamic>> callback, params object[] args)
        {
            using (var conn = new SqlConnection(_connectionString))
            {
                var cmd = new SqlCommand(sql, conn);
                cmd.AddParams(args);
                conn.Open();

                var task = Task.Factory.FromAsync<IDataReader>(cmd.BeginExecuteReader, cmd.EndExecuteReader, null);
                task.ContinueWith(x => callback.Invoke(x.Result.ToExpandoList()));
            }
        }
Ejemplo n.º 5
0
 /// <summary>
 /// Executes the reader using SQL async API - thanks to Damian Edwards
 /// </summary>
 public void QueryAsync(string sql, Action<List<dynamic>> callback, params object[] args)
 {
     var conn = new SqlConnection(ConnectionString);
     using(var cmd = new SqlCommand(sql, conn)){
         cmd.AddParams(args);
         try{
             conn.Open();
             var task = Task.Factory.FromAsync<IDataReader>(cmd.BeginExecuteReader, cmd.EndExecuteReader, null);
             task.ContinueWith(x => {
                 var result = x.Result.ToExpandoList();
                 conn.Dispose();
                 callback.Invoke(result);
             });
         }
         catch (DbException){
             if (conn.State == ConnectionState.Open)
                 conn.Close();
             throw;
         }
     }
 }