/// <summary> /// Rollback the active transaction. Transactions may be nested. /// </summary> public override void RollbackTransaction() { VistaDBSQLQuery query = CreateSQLQuery(); query.SQL = "ROLLBACK TRANSACTION"; query.ExecSQL(); query.DropQuery(); }
/// <summary> /// Begin a transaction. Transactions may be nested. /// </summary> public override bool BeginTransaction() { VistaDBSQLQuery query = CreateSQLQuery(); query.SQL = "BEGIN TRANSACTION"; query.ExecSQL(); query.DropQuery(); return(true); }
/// <summary> /// Commit an active transaction. Transactions may be nested. /// </summary> public override bool CommitTransaction() { VistaDBSQLQuery query = CreateSQLQuery(); query.SQL = "COMMIT TRANSACTION"; query.ExecSQL(); query.DropQuery(); return(true); }
internal VistaDBDataReader(VistaDBSQLQuery query, bool fillData, VistaDBConnection connection) { this.query = query; this.vistaDBConnection = connection; this.rowsAffected = this.query.RowsAffected; this.rowCount = this.query.RecordCount; this.columns = new VistaDBColumnCollection(this); }
/// <summary> /// Overloaded. Releases the resources used by the component. /// </summary> /// <param name="disposing">True for external disposing</param> protected override void Dispose(bool disposing) { if (sqlQuery != null) { sqlQuery.DropQuery(); } sqlQuery = null; base.Dispose(disposing); }
internal VistaDBDataReader(VistaDBSQLQuery query, bool fillData, VistaDBConnection connection) { this.query = query; this.vistaDBConnection = connection; this.rowsAffected = this.query.RowsAffected; this.rowCount = this.query.RecordCount; this.columns = new VistaDBColumnCollection(this); }
public bool DropQuery(VistaDBSQLQuery query) { int indexQuery = -1; VistaDBSQLQuery[] newQueries; lock (this.syncRoot) { for (int i = 0; i < queries.Length; i++) { if (this.queries[i] == query) { indexQuery = i; break; } } if (indexQuery < 0) { return(false); } this.queries[indexQuery].Close(); this.queries[indexQuery].FreeQuery(); newQueries = new VistaDBSQLQuery[this.queries.Length - 1]; for (int i = 0; i < newQueries.Length; i++) { if (i < indexQuery) { newQueries[i] = this.queries[i]; } else { newQueries[i] = this.queries[i + 1]; } } this.queries = newQueries; } return(true); }
/// <summary> /// Executes a V-SQL statement against the connection and returns the number of rows affected. /// </summary> public int ExecuteNonQuery() //IDbCommand.ExecuteNonQuery { if ((connection == null || connection.State != ConnectionState.Open) && (commandText.Substring(0, 6).ToUpper() != "CREATE")) { throw new VistaDBException(VistaDBErrorCodes.ConnectionInvalid); } if (sqlQuery == null) { sqlQuery = connection.VistaDBSQL.NewSQLQuery(); } sqlQuery.SQL = commandText; AddSQLParameter(sqlQuery); sqlQuery.ExecSQL(); return(sqlQuery.RowsAffected); }
/// <summary> /// Create new query for this connection. /// </summary> /// <returns></returns> public VistaDBSQLQuery NewSQLQuery() { VistaDBSQLQuery query; VistaDBSQLQuery[] newQueries; query = CreateSQLQuery(); lock(this.syncRoot) { newQueries = new VistaDBSQLQuery[queries.Length + 1]; for(int i = 0; i < queries.Length; i++ ) { newQueries[i] = this.queries[i]; } this.queries = newQueries; this.queries[queries.GetUpperBound(0)] = query; } return query; }
/// <summary> /// Create new query for this connection. /// </summary> /// <returns></returns> public VistaDBSQLQuery NewSQLQuery() { VistaDBSQLQuery query; VistaDBSQLQuery[] newQueries; query = CreateSQLQuery(); lock (this.syncRoot) { newQueries = new VistaDBSQLQuery[queries.Length + 1]; for (int i = 0; i < queries.Length; i++) { newQueries[i] = this.queries[i]; } this.queries = newQueries; this.queries[queries.GetUpperBound(0)] = query; } return(query); }
public VistaDBColumnCollection(VistaDBSQLQuery p) { this.parent = p; }
private void AddSQLParameter(VistaDBSQLQuery query) { VistaDBType vdbType; foreach(VistaDBParameter vp in Parameters) { vdbType = vp.VistaDBType; if( vp.Value == null || vp.Value == DBNull.Value ) { query.SetParamNull(vp.ParameterName, vdbType); } else { switch(vdbType) { case VistaDBType.Character: query.SetParameter(vp.ParameterName, VistaDBType.Character, (string)vp.Value); break; case VistaDBType.Date: query.SetParameter(vp.ParameterName, VistaDBType.Date, (DateTime)vp.Value); break; case VistaDBType.DateTime: query.SetParameter(vp.ParameterName, VistaDBType.DateTime, (DateTime)vp.Value); break; case VistaDBType.Int32: query.SetParameter(vp.ParameterName, VistaDBType.Int32, (int)vp.Value); break; case VistaDBType.Int64: query.SetParameter(vp.ParameterName, VistaDBType.Int64, (long)vp.Value); break; case VistaDBType.Boolean: query.SetParameter(vp.ParameterName, VistaDBType.Boolean, (bool)vp.Value); break; case VistaDBType.Double: query.SetParameter(vp.ParameterName, VistaDBType.Double, (double)vp.Value); break; case VistaDBType.Varchar: query.SetParameter(vp.ParameterName, VistaDBType.Varchar, (string)vp.Value); break; case VistaDBType.Memo: query.SetParameter(vp.ParameterName, VistaDBType.Memo, (string)vp.Value); break; case VistaDBType.Blob: query.SetParameter(vp.ParameterName, VistaDBType.Blob, vp.Value); break; case VistaDBType.Picture: query.SetParameter(vp.ParameterName, VistaDBType.Picture, vp.Value); break; case VistaDBType.Currency: query.SetParameter(vp.ParameterName, VistaDBType.Currency, (decimal)vp.Value); break; case VistaDBType.Guid: query.SetParameter(vp.ParameterName, VistaDBType.Guid, (Guid)vp.Value); break; } } } }
/// <summary> /// Executes a V-SQL statement against the connection and returns the number of rows affected. /// </summary> public int ExecuteNonQuery()//IDbCommand.ExecuteNonQuery { if((connection == null || connection.State != ConnectionState.Open)&& (commandText.Substring(0, 6).ToUpper() != "CREATE")) throw new VistaDBException(VistaDBErrorCodes.ConnectionInvalid); if( sqlQuery == null ) sqlQuery = connection.VistaDBSQL.NewSQLQuery(); sqlQuery.SQL = commandText; AddSQLParameter(sqlQuery); sqlQuery.ExecSQL(); return sqlQuery.RowsAffected; }
/// <summary> /// Overloaded. Releases the resources used by the component. /// </summary> /// <param name="disposing">True for external disposing</param> protected override void Dispose(bool disposing) { if(sqlQuery != null) sqlQuery.DropQuery(); sqlQuery = null; base.Dispose(disposing); }
public bool DropQuery(VistaDBSQLQuery query) { int indexQuery = -1; VistaDBSQLQuery[] newQueries; lock(this.syncRoot) { for(int i = 0; i < queries.Length; i++) { if( this.queries[i] == query ) { indexQuery = i; break; } } if(indexQuery < 0) return false; this.queries[indexQuery].Close(); this.queries[indexQuery].FreeQuery(); newQueries = new VistaDBSQLQuery[this.queries.Length - 1]; for(int i = 0; i < newQueries.Length; i++) { if( i < indexQuery ) newQueries[i] = this.queries[i]; else newQueries[i] = this.queries[i + 1]; } this.queries = newQueries; } return true; }
public VistaDBColumnCollection(VistaDBSQLQuery p) { this.parent = p; }
private void AddSQLParameter(VistaDBSQLQuery query) { VistaDBType vdbType; foreach (VistaDBParameter vp in Parameters) { vdbType = vp.VistaDBType; if (vp.Value == null || vp.Value == DBNull.Value) { query.SetParamNull(vp.ParameterName, vdbType); } else { switch (vdbType) { case VistaDBType.Character: query.SetParameter(vp.ParameterName, VistaDBType.Character, (string)vp.Value); break; case VistaDBType.Date: query.SetParameter(vp.ParameterName, VistaDBType.Date, (DateTime)vp.Value); break; case VistaDBType.DateTime: query.SetParameter(vp.ParameterName, VistaDBType.DateTime, (DateTime)vp.Value); break; case VistaDBType.Int32: query.SetParameter(vp.ParameterName, VistaDBType.Int32, (int)vp.Value); break; case VistaDBType.Int64: query.SetParameter(vp.ParameterName, VistaDBType.Int64, (long)vp.Value); break; case VistaDBType.Boolean: query.SetParameter(vp.ParameterName, VistaDBType.Boolean, (bool)vp.Value); break; case VistaDBType.Double: query.SetParameter(vp.ParameterName, VistaDBType.Double, (double)vp.Value); break; case VistaDBType.Varchar: query.SetParameter(vp.ParameterName, VistaDBType.Varchar, (string)vp.Value); break; case VistaDBType.Memo: query.SetParameter(vp.ParameterName, VistaDBType.Memo, (string)vp.Value); break; case VistaDBType.Blob: query.SetParameter(vp.ParameterName, VistaDBType.Blob, vp.Value); break; case VistaDBType.Picture: query.SetParameter(vp.ParameterName, VistaDBType.Picture, vp.Value); break; case VistaDBType.Currency: query.SetParameter(vp.ParameterName, VistaDBType.Currency, (decimal)vp.Value); break; case VistaDBType.Guid: query.SetParameter(vp.ParameterName, VistaDBType.Guid, (Guid)vp.Value); break; } } } }