CreateCommand() public method

public CreateCommand ( ) : DeveelDbCommand
return DeveelDbCommand
Beispiel #1
0
 public void CreateCommandOnClosedConnection()
 {
     const string connString = "Host=Heap;UserID=SA;Password=123456;Database=testdb;BootOrCreate=true";
     var connection = new DeveelDbConnection(connString);
     DeveelDbCommand command = null;
     Assert.DoesNotThrow(() => command = connection.CreateCommand());
     Assert.IsNotNull(command);
     command.CommandText = "SELECT * FROM Person WHERE Name = 'antonello'";
 }
        public SysDataTable GetSchemata(string[] restrictions)
        {
            if (restrictions == null)
            {
                throw new ArgumentException();
            }

            if (restrictions.Length > 1)
            {
                throw new ArgumentException();
            }

            string schema = restrictions[0];

            if (schema == null)
            {
                schema = "%";
            }

            var dataTable = new SysDataTable("Schemata");

            dataTable.Columns.Add("TABLE_SCHEMA");
            dataTable.Columns.Add("TABLE_CATALOG");

            var command = connection.CreateCommand("   SELECT * \n" +
                                                   "     FROM \"INFORMATION_SCHEMA.TABLES\" \n" +
                                                   "    WHERE \"TABLE_SCHEMA\" LIKE ? \n" +
                                                   " ORDER BY \"TABLE_SCHEMA\" \n");

            command.Parameters.Add(schema);
            command.Prepare();

            using (DeveelDbDataReader reader = command.ExecuteReader()) {
                SysDataRow row = dataTable.NewRow();
                row["TABLE_SCHEMA"]  = reader.GetString(0);
                row["TABLE_CATALOG"] = reader.GetString(1);
                dataTable.Rows.Add(row);
            }

            return(dataTable);
        }
Beispiel #3
0
        public void CreateCommandWithMixedParameters()
        {
            // by default "Parameter Style" configuration is set to "Marker" in connection strings
            const string connString = "Host=Heap;UserID=SA;Password=123456;Database=testdb;BootOrCreate=true";
            var connection = new DeveelDbConnection(connString);
            Assert.DoesNotThrow(connection.Open);

            var command = connection.CreateCommand();
            command.CommandText = "SELECT * FROM Person WHERE Name = ?";
            Assert.DoesNotThrow(() => command.Parameters.Add("antonelllo"));
            Assert.DoesNotThrow(() => command.Parameters.Add("Name", "antonello"));
            Assert.Throws<InvalidOperationException>(() => command.ExecuteReader());
        }
Beispiel #4
0
        public void CreateCommandWithNamedParameters(string paramName, string paramValue)
        {
            const string connString = "Host=Heap;UserID=SA;Password=123456;Database=testdb;Parameter Style=Named;BootOrCreate=true";
            var connection = new DeveelDbConnection(connString);
            Assert.DoesNotThrow(connection.Open);

            var command = connection.CreateCommand();

            command.CommandText = "CREATE TABLE Person (Id Identity, Name VARCHAR NOT NULL, LastName VarChar)";
            var result = command.ExecuteNonQuery();

            command.CommandText = String.Format("SELECT * FROM Person WHERE Name = {0}", paramName);
            Assert.DoesNotThrow(() => command.Parameters.Add(paramName, paramValue));

            DeveelDbDataReader reader = null;
            Assert.DoesNotThrow(() => reader = command.ExecuteReader());
            Assert.IsNotNull(reader);
            reader.Close();

            command.CommandText = "DROP TABLE Person";
            command.ExecuteNonQuery();
        }
Beispiel #5
0
        public void CreateCommandWithMarkerParameters()
        {
            const string connString = "Host=Heap;UserID=SA;Password=123456;Database=testdb;Parameter Style=Marker;BootOrCreate=true";
            var connection = new DeveelDbConnection(connString);
            Assert.DoesNotThrow(connection.Open);

            var command = connection.CreateCommand();

            command.CommandText = "CREATE TABLE Person (Id Identity, Name VARCHAR NOT NULL, LastName VarChar)";
            var result = command.ExecuteNonQuery();

            Assert.AreEqual(0, result);

            command.CommandText = "SELECT * FROM Person WHERE Name = ?";
            Assert.DoesNotThrow(() => command.Parameters.Add("antonelllo"));

            object value = null;
            Assert.DoesNotThrow(() => value = command.ExecuteScalar());
            Assert.IsNull(value);

            command.CommandText = "DROP TABLE Person";
            command.ExecuteNonQuery();
        }
Beispiel #6
0
        public void ExecuteScalarOnsingleColumn()
        {
            const string connString = "Host=Heap;UserID=SA;Password=123456;Database=testdb;BootOrCreate=true";
            var connection = new DeveelDbConnection(connString);
            connection.Open();

            // TODO: Open the connection, create a transaction, declare some variables

            DeveelDbCommand command = null;
            Assert.DoesNotThrow(() => command = connection.CreateCommand());
            Assert.IsNotNull(command);
            command.CommandText = "SELECT Age FROM Person WHERE Name = 'antonello'";
        }
Beispiel #7
0
        public void ExecuteMultipleStatements()
        {
            const string connString = "Host=Heap;UserID=SA;Password=123456;Database=testdb;BootOrCreate=true";
            var connection = new DeveelDbConnection(connString);

            Assert.DoesNotThrow(connection.Open);
            Assert.IsTrue(connection.State == ConnectionState.Open);

            DeveelDbCommand command = connection.CreateCommand();
            command.CommandText = "DECLARE firstName STRING NOT NULL; SET firstName = 'antonello'; SELECT :firstName;";
            var reader = command.ExecuteReader();
            Assert.IsTrue(reader.NextResult());
            Assert.IsTrue(reader.NextResult());
            Assert.IsTrue(reader.Read());
            Assert.IsFalse(reader.IsDBNull(0));
            Assert.AreEqual("antonello", reader.GetString(0));
            connection.Close();
        }
Beispiel #8
0
        public void CreateOnNotOpenConnection()
        {
            var command = connection.CreateCommand();

            Assert.IsNotNull(command);
        }