/// <inheritdoc /> public async Task <ResultSet <T> > SelectAsync <T>(string query, Dictionary <string, dynamic> bindings = null) where T : Model <T>, new() { using var connection = new Connection(ConnectionString); await connection.OpenAsync(); using var command = new Command(query, connection); BindParameters(command, bindings); using var reader = await command.ExecuteReaderAsync(); ResultSet <T> resultSet = new ResultSet <T>(); if (Manager.DebugMode) { Manager.Logger(query); } while (await reader.ReadAsync()) { ResultRow <T> resultRow = new ResultRow <T>(); for (int column = 0; column < reader.FieldCount; column++) { resultRow.Columns.Add(reader.GetName(column), reader.GetValue(column)); } resultSet.Rows.Add(resultRow); } return(resultSet); }
/// <inheritdoc /> public async Task DeleteAsync(string query, Dictionary <string, dynamic> bindings = null) { using var connection = new Connection(ConnectionString); await connection.OpenAsync(); using var command = new Command(query, connection); BindParameters(command, bindings); await command.ExecuteNonQueryAsync(); if (Manager.DebugMode) { Manager.Logger(query); } }
/// <inheritdoc /> public void Update(string query, Dictionary <string, dynamic> bindings = null) { using var connection = new Connection(ConnectionString); connection.Open(); using var command = new Command(query, connection); BindParameters(command, bindings); command.ExecuteNonQuery(); if (Manager.DebugMode) { Manager.Logger(query); } }
private void UserHandlTest(IApplicationBuilder app) { app.Run(async ctx => { using (var connection = new MySqlConnector.MySqlConnection("server=192.168.3.125;database=go_testdb;uid=root;pwd=123456;charset='utf8';SslMode=None")) { await connection.OpenAsync(); using var command = connection.CreateCommand(); command.CommandText = "select id,name,age,birthday from users where id = 1"; command.Connection = connection; command.CommandTimeout = 1; var reader = await command.ExecuteReaderAsync(); //_ = await connection.QueryFirstAsync<User>("select id,name,age,birthday from users"); } }); }
/// <inheritdoc /> public async Task <int> InsertAsync(string query, Dictionary <string, dynamic> bindings = null) { using var connection = new Connection(ConnectionString); await connection.OpenAsync(); using var command = new Command(query, connection); BindParameters(command, bindings); await command.ExecuteNonQueryAsync(); if (Manager.DebugMode) { Manager.Logger(query); } return(Convert.ToInt32(command.LastInsertedId)); }
public void GlobalSetup() { using (var connection = new MySqlConnector.MySqlConnection(s_connectionString)) { connection.Open(); using (var cmd = connection.CreateCommand()) { cmd.CommandText = @" create schema if not exists benchmark; drop table if exists benchmark.integers; create table benchmark.integers (value int not null primary key); insert into benchmark.integers(value) values (0),(1),(2),(3),(4),(5),(6),(7),(8),(9); drop table if exists benchmark.blobs; create table benchmark.blobs( rowid integer not null primary key auto_increment, `Blob` longblob null ); insert into benchmark.blobs(`Blob`) values(null), (@Blob1), (@Blob2);"; // larger blobs make the tests run much slower AddBlobParameter(cmd, "@Blob1", 75000); AddBlobParameter(cmd, "@Blob2", 150000); cmd.ExecuteNonQuery(); } } s_connectionString += ";database=benchmark"; var mySqlData = new MySql.Data.MySqlClient.MySqlConnection(s_connectionString); mySqlData.Open(); m_connections.Add("MySql.Data", mySqlData); var mySqlConnector = new MySqlConnector.MySqlConnection(s_connectionString); mySqlConnector.Open(); m_connections.Add("MySqlConnector", mySqlConnector); Connection = m_connections[Library]; }