public void Read()
        {
            IParameterFactory   parameterFactory   = new SqliteParameterFactory();
            IDataAdapterFactory dataAdapterFactory = new SqliteDataAdapterFactory();
            IConnectionFactory  connectionFactory  = new SqliteConnectionFactory();

            using (var connection = connectionFactory.Open(_connectionString))
                using (var command = new Command(connection, parameterFactory))
                    using (var reader = new SqlReader(connection, parameterFactory, dataAdapterFactory))
                    {
                        command.Execute("drop table if exists ReadTest");
                        command.Execute("create table if not exists ReadTest(TestColumn text)");
                        //command.Execute("insert into ReadTest values(null)");
                        command.Execute("insert into ReadTest values('one')");
                        command.Execute("insert into ReadTest values('two')");

                        var dataSet = reader.Read("select * from ReadTest");
                        //reader.Prepare("select * from ReadTest");
                        //using (var dataReader = reader.ExecuteReader(null))
                        //{
                        //    while (dataReader.Read())
                        //    {
                        //        for (var i = 0; i < dataReader.FieldCount; ++i)
                        //        {
                        //            var isnull = dataReader.IsDBNull(i);
                        //            var o = dataReader.GetValue(i);
                        //        }
                        //    }
                        //}
                        Assert.IsNotNull(dataSet);
                        Assert.AreEqual(1, dataSet.Tables.Count);
                        Assert.IsTrue(dataSet.Tables[0].Rows.Count > 0);
                    }
        }
        public SqliteDataComponentFactory(RetryOptions retryOptions, string connectionString) : base()
        {
            _connectionFactory =
                String.IsNullOrEmpty(connectionString) ?
                new SqliteConnectionFactoryWithRetry(retryOptions) :
                new SqliteConnectionFactoryWithRetry(retryOptions, connectionString);

            _transactionFactory = new SqliteTransactionFactoryWithRetry(retryOptions);
            _dataAdapterFactory = new SqliteDataAdapterFactory();
            _parameterFactory   = new SqliteParameterFactory();
        }
        public SqliteDataComponentFactory(string connectionString) : base()
        {
            _connectionFactory =
                String.IsNullOrEmpty(connectionString) ?
                new SqliteConnectionFactory() :
                new SqliteConnectionFactory(connectionString);

            _transactionFactory = new TransactionFactory();
            _dataAdapterFactory = new SqliteDataAdapterFactory();
            _parameterFactory   = new SqliteParameterFactory();
        }
Ejemplo n.º 4
0
        public SqliteDataComponentFactory(SqliteTransientRetryPolicy retryPolicy, IConnectionStringFactory connectionStringFactory) : base()
        {
            _connectionFactory =
                connectionStringFactory == null ?
                new SqliteConnectionFactoryWithRetry(retryPolicy) :
                new SqliteConnectionFactoryWithRetry(retryPolicy, connectionStringFactory);

            _transactionFactory = new SqliteTransactionFactoryWithRetry(retryPolicy);
            _dataAdapterFactory = new SqliteDataAdapterFactory();
            _parameterFactory   = new SqliteParameterFactory();
        }
Ejemplo n.º 5
0
        public SqliteDataComponentFactory(IConnectionStringFactory connectionStringFactory) : base()
        {
            _connectionFactory =
                connectionStringFactory == null ?
                new SqliteConnectionFactory() :
                new SqliteConnectionFactory(connectionStringFactory);

            _transactionFactory = new TransactionFactory();
            _dataAdapterFactory = new SqliteDataAdapterFactory();
            _parameterFactory   = new SqliteParameterFactory();
        }
Ejemplo n.º 6
0
        public SqliteDataComponentFactory(SqliteTransientRetryPolicy retryPolicy, string connectionString) : base()
        {
            _connectionFactory =
                string.IsNullOrEmpty(connectionString) ?
                new SqliteConnectionFactoryWithRetry(retryPolicy) :
                new SqliteConnectionFactoryWithRetry(retryPolicy, connectionString);

            _transactionFactory = new SqliteTransactionFactoryWithRetry(retryPolicy);
            _dataAdapterFactory = new SqliteDataAdapterFactory();
            _parameterFactory   = new SqliteParameterFactory();
        }
        public void Constructor()
        {
            IParameterFactory   parameterFactory   = new SqliteParameterFactory();
            IDataAdapterFactory dataAdapterFactory = new SqliteDataAdapterFactory();
            IConnectionFactory  connectionFactory  = new SqliteConnectionFactory();

            using (var connection = connectionFactory.Open(_connectionString))
                using (var reader = new SqlReader(connection, parameterFactory, dataAdapterFactory))
                {
                    Assert.IsNotNull(reader);
                }
        }
Ejemplo n.º 8
0
        public void Init(Table table, DbConnection connection, bool truncate = false, bool dropTable = false)
        {
            _table      = table;
            _connection = connection;
            _command    = connection.CreateCommand();

            connection.Open();

            if (dropTable)
            {
                var dropTableCommand = _connection.CreateCommand();
                dropTableCommand.CommandText = $"drop table if exists [{_table.Name}]";
                dropTableCommand.ExecuteNonQuery();
            }

            var bldr = new SqliteScriptBuilder();
            var cmd  = connection.CreateCommand();

            cmd.CommandText = bldr.BuildCreateScript(table);
            cmd.ExecuteNonQuery();

            var paramFactory = new SqliteParameterFactory();

            var fields = String.Empty;
            var values = String.Empty;

            foreach (var param in table.Columns)
            {
                var paramName = $"@{param.Name}";

                fields += String.IsNullOrEmpty(fields) ? $"{param.Name}" : $", {param.Name}";
                values += String.IsNullOrEmpty(values) ? $"{paramName}" : $", {paramName}";

                _command.Parameters.Add(new SqliteParameter($"{paramName}", null));
            }

            if (truncate)
            {
                var truncateCommand = _connection.CreateCommand();
                truncateCommand.CommandText = $"delete from [{_table.Name}]";
                truncateCommand.ExecuteNonQuery();

                _command.CommandText = $"insert into [{table.Name}] ({fields}) values ({values})";
            }
            else
            {
                _command.CommandText = $"insert or replace into [{table.Name}] ({fields}) values ({values})";
            }

            _connection.Close();
        }
        public void Read_Count()
        {
            IParameterFactory   parameterFactory   = new SqliteParameterFactory();
            IDataAdapterFactory dataAdapterFactory = new SqliteDataAdapterFactory();
            IConnectionFactory  connectionFactory  = new SqliteConnectionFactory();

            using (var connection = connectionFactory.Open(_connectionString))
                using (var command = new Command(connection, parameterFactory))
                    using (var reader = new SqlReader(connection, parameterFactory, dataAdapterFactory))
                    {
                        command.Execute("drop table if exists ReadCountTest");
                        command.Execute("create table if not exists ReadCountTest(TestColumn text)");
                        command.Execute("insert into ReadCountTest values('one')");
                        command.Execute("insert into ReadCountTest values('two')");

                        var dataSet = reader.Read("select count(*) from ReadCountTest");
                        Assert.IsNotNull(dataSet);
                        Assert.AreEqual(1, dataSet.Tables.Count);
                        Assert.AreEqual(1, dataSet.Tables[0].Rows.Count);
                        Assert.AreEqual(2L, (long)dataSet.Tables[0].Rows[0][0]);
                    }
        }
Ejemplo n.º 10
0
        public void Read_WithParams()
        {
            IParameterFactory   parameterFactory   = new SqliteParameterFactory();
            IDataAdapterFactory dataAdapterFactory = new SqliteDataAdapterFactory();
            IConnectionFactory  connectionFactory  = new SqliteConnectionFactory();

            using (var connection = connectionFactory.Open(_connectionString))
                using (var command = new Command(connection, parameterFactory))
                    using (var reader = new SqlReader(connection, parameterFactory, dataAdapterFactory))
                    {
                        command.Execute("drop table if exists ReadWParamsTest");
                        command.Execute("create table if not exists ReadWParamsTest(TestId integer primary key autoincrement, TestValue text)");
                        command.Execute("insert into ReadWParamsTest(TestValue) values('one')");
                        command.Execute("insert into ReadWParamsTest(TestValue) values('two')");

                        var dataSet = reader.Read("select * from ReadWParamsTest where TestId=@TestId", new Dictionary <string, object> {
                            ["TestId"] = 1
                        });
                        Assert.IsNotNull(dataSet);
                        Assert.AreEqual(1, dataSet.Tables.Count);
                        Assert.AreEqual(1, dataSet.Tables[0].Rows.Count);
                    }
        }