public override async Task DeleteLOB(uint oid, DBTransaction transaction) { var command = (SqlCommand)transaction.AddCommand($"delete from db_lob where oid = @oid"); command.Parameters.AddWithValue($"@oid", (long)oid); await transaction.ExecuteQueryAsync(command); }
public QResult ExecuteQResult(string query) { using (var transaction = new DBTransaction(this, null, true)) { transaction.AddCommand(query); return(transaction.ExecuteQResult()); } }
public List <Dictionary <string, object> > ExecuteListDictionary(string query) { using (var transaction = new DBTransaction(this, null, true)) { var command = transaction.AddCommand(query); return(transaction.ExecuteListDictionary(command)); } }
public override async Task <uint> SetLOB(Stream value, DBTransaction transaction) { var command = (MySqlCommand)transaction.AddCommand(@"insert into db_lob (lob_data) values (@lob_data);"); command.Parameters.Add("@lob_data", MySqlDbType.LongBlob).Value = await Helper.GetBytesAsync(value); await transaction.ExecuteQueryAsync(command); return((uint)command.LastInsertedId); }
public object ExecuteDBFunction(IDbCommand command, DBTransaction transaction) { object bufer = null; transaction.AddCommand(command); //UpdateCommand(command, parameters); transaction.ExecuteQuery(command); bufer = ((IDataParameter)command.Parameters[0]).Value; return(bufer); }
public override async Task <Stream> GetLOB(uint oid, DBTransaction transaction, int bufferSize = 81920) { var command = (SqlCommand)transaction.AddCommand($"select oid, lob_data from db_lob where oid = @oid"); command.Parameters.AddWithValue($"@oid", (long)oid); transaction.Reader = (IDataReader)await transaction.ExecuteQueryAsync(command, DBExecuteType.Reader, CommandBehavior.SequentialAccess); if (await transaction.ReadAsync()) { return(((SqlDataReader)transaction.Reader).GetStream(1)); } throw new Exception("No Data Found!"); }
public object ExecuteQuery(string query, bool noTransaction = false, DBExecuteType type = DBExecuteType.Scalar) { if (string.IsNullOrEmpty(query)) { return(null); } using (var transaction = new DBTransaction(this, null, noTransaction)) { var result = transaction.ExecuteQuery(transaction.AddCommand(query), type); transaction.Commit(); return(result); } }
public override async Task <uint> SetLOB(Stream value, DBTransaction transaction) { var command = (SqlCommand)transaction.AddCommand(@"select @oid = next value for db_lob_seq; insert into db_lob (oid, lob_data) values (@oid, @lob_data); select @oid;"); command.Parameters.Add("@lob_data", SqlDbType.Binary, -1).Value = value; var oid = (long)await transaction.ExecuteQueryAsync(command, DBExecuteType.Scalar); //command = (SqlCommand)transaction.AddCommand("select current_value from sys.sequences where name = 'db_lob_seq'"); //transaction.ExecuteQuery(command, DBExecuteType.Scalar); return((uint)oid); }
public override async Task <uint> SetLOB(Stream value, DBTransaction transaction) { var command = (SqliteCommand)transaction.AddCommand(@"insert into db_lob (lob_data) values (zeroblob($length)); select last_insert_rowid();"); command.Parameters.AddWithValue("$length", value.Length); var oid = (long)await transaction.ExecuteQueryAsync(command); // Open a stream to write the data using (var blobStream = new SqliteBlob((SqliteConnection)transaction.Connection, "db_lob", "lob_data", oid)) { await value.CopyToAsync(blobStream); } return((uint)oid); }
public DBTable <T> ExecuteTable <T>(string tableName, string query) where T : DBItem, new() { var schema = new DBSchema() { Name = "temp", Connection = this }; var table = new DBTable <T>(tableName) { Schema = schema }; using (var transaction = new DBTransaction(this, null, true)) { table.Load(transaction.AddCommand(query)); } return(table); }
public override async Task <uint> SetLOB(Stream value, DBTransaction transaction) { using (var blob = new OracleBlob((OracleConnection)transaction.Connection)) { await value.CopyToAsync(blob); var command = (OracleCommand)transaction.AddCommand(@"begin select db_lob_seq.nextval into :oid = next from dual; insert into db_lob (oid, lob_data) values (:oid, :lob_data); select :oid;"); var oidParameter = command.Parameters.Add(":oid", OracleDbType.Long); oidParameter.Direction = ParameterDirection.Output; command.Parameters.Add(":lob_data", OracleDbType.Blob, -1).Value = blob; await transaction.ExecuteQueryAsync(command, DBExecuteType.NoReader); var oid = (long)oidParameter.Value; return((uint)oid); } }
public List <List <KeyValuePair <string, object> > > ExecuteListPair(string query) { using (var transaction = new DBTransaction(this, null, true)) { var list = new List <List <KeyValuePair <string, object> > >(); using (var reader = transaction.ExecuteQuery(transaction.AddCommand(query), DBExecuteType.Reader) as IDataReader) { int fCount = reader.FieldCount; while (reader.Read()) { var objects = new List <KeyValuePair <string, object> >(fCount); for (int i = 0; i < fCount; i++) { objects.Add(new KeyValuePair <string, object>(reader.GetName(i), reader.GetValue(i))); } list.Add(objects); } reader.Close(); } return(list); } }
public List <Dictionary <string, object> > ExecuteListDictionary(IDbCommand command, DBTransaction transaction) { command = transaction.AddCommand(Source); //UpdateCommand(command, parameters); return(transaction.ExecuteListDictionary()); }
public QResult ExecuteQueryResult(IDbCommand command, DBTransaction transaction) { //UpdateCommand(command, parameters); return(transaction.ExecuteQResult(transaction.AddCommand(command))); }