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(); }
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(); }
public SqliteDataComponentFactory(IConnectionStringFactory connectionStringFactory) : base() { _connectionFactory = connectionStringFactory == null ? new SqliteConnectionFactory() : new SqliteConnectionFactory(connectionStringFactory); _transactionFactory = new TransactionFactory(); _dataAdapterFactory = new SqliteDataAdapterFactory(); _parameterFactory = new SqliteParameterFactory(); }
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); } }
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]); } }
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); } }