예제 #1
0
        public void BuildCommandThrowsIfParameterOrdinalMismatch(string sql, object[] parameters)
        {
            var conn = MockIDbConnection.Create();
            var cmd  = conn.CreateCommand();

            Console.WriteLine(Assert.Throws <MicrOrmException>(() => QueryBuilder.BuildCommand(cmd, sql, parameters)).Message);
        }
예제 #2
0
        public void SimpleSelect()
        {
            var conn = MockIDbConnection.Create();
            var sql  = "SELECT * FROM table";

            var cmd = conn.CreateCommand();

            QueryBuilder.BuildCommand(cmd, sql);

            Assert.NotNull(cmd);
            Assert.AreEqual(sql, cmd.CommandText);
            Assert.AreEqual(0, cmd.Parameters.Count);
        }
예제 #3
0
        public void ParameterizedSelect()
        {
            var conn = MockIDbConnection.Create();
            var sql  = "SELECT * FROM table WHERE field1=:p0 AND field2=:p1";

            var cmd = conn.CreateCommand();

            QueryBuilder.BuildCommand(cmd, sql, 1, "two");

            Assert.NotNull(cmd);
            Assert.AreEqual(sql, cmd.CommandText);
            Assert.AreEqual(2, cmd.Parameters.Count);

            Assert.AreEqual("p0", ((IDbDataParameter)cmd.Parameters[0]).ParameterName);
            Assert.AreEqual(1, ((IDbDataParameter)cmd.Parameters[0]).Value);

            Assert.AreEqual("p1", ((IDbDataParameter)cmd.Parameters[1]).ParameterName);
            Assert.AreEqual("two", ((IDbDataParameter)cmd.Parameters[1]).Value);
        }