Example #1
0
        /// <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();
        }
Example #2
0
        /// <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);
        }
Example #3
0
        /// <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);
        }
Example #4
0
		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);
		}
Example #5
0
 /// <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);
 }
Example #6
0
        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);
        }
Example #8
0
        /// <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);
        }
Example #11
0
 public VistaDBColumnCollection(VistaDBSQLQuery p)
 {
     this.parent = p;
 }
Example #12
0
		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;
					}
				}
			}
		}
Example #13
0
		/// <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;
		}
Example #14
0
		/// <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;
			}
Example #17
0
        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;
                    }
                }
            }
        }