当前位置: 首页>>代码示例>>C#>>正文


C# DbCommand.Dispose方法代码示例

本文整理汇总了C#中System.Data.Common.DbCommand.Dispose方法的典型用法代码示例。如果您正苦于以下问题:C# DbCommand.Dispose方法的具体用法?C# DbCommand.Dispose怎么用?C# DbCommand.Dispose使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在System.Data.Common.DbCommand的用法示例。


在下文中一共展示了DbCommand.Dispose方法的14个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: CloseConnection

 /// <summary>
 /// Closes the connection.
 /// </summary>
 /// <param name="command">The command.</param>
 public void CloseConnection(DbCommand command)
 {
     if (command != null && command.Connection.State != ConnectionState.Closed && batchConnection == null)
     {
         if (command.Transaction == null)
         {
             CloseConnection(command.Connection);
             command.Dispose();
         }
     }
 }
开发者ID:Oman,项目名称:Maleos,代码行数:15,代码来源:Database+-+EF.cs

示例2: ReleaseStatement

 /**
  * This method releases statements after the thread is
  * done with them. These statements are not closed, but
  * rather cached until another thread has need of them.
  * 
  * @param stmt
  *          The statement that is to be released.
  */
 private void ReleaseStatement(DbCommand stmt)
 {
     stmt.Dispose();
     this.statementCache.Add(stmt);
 }
开发者ID:Clever-Boy,项目名称:jeffheaton-book-code,代码行数:13,代码来源:RepeatableStatement.cs

示例3: CheckLogDb

        public bool CheckLogDb(string file)
        {
            bool ret = true;

             try
             {
            string dir = Path.GetDirectoryName(file);
            if(!Directory.Exists(dir))
            {
               Directory.CreateDirectory(dir);
            }

            cn = new SQLiteConnection();
            {
               cn.ConnectionString = string.Format("Data Source=\"{0}\";FailIfMissing=False;", file);
               cn.Open();
               {
                  using(DbTransaction tr = cn.BeginTransaction())
                  {
                     try
                     {
                        using(DbCommand cmd = cn.CreateCommand())
                        {
                           cmd.Transaction = tr;
                           cmd.CommandText = @"CREATE TABLE IF NOT EXISTS GPS (id INTEGER NOT NULL PRIMARY KEY,
                                                TimeUTC DATETIME NOT NULL,
                                                SessionCounter INTEGER NOT NULL,
                                                Delta DOUBLE,
                                                Speed DOUBLE,
                                                SeaLevelAltitude DOUBLE,
                                                EllipsoidAltitude DOUBLE,
                                                SatellitesInView TINYINT,
                                                SatelliteCount TINYINT,
                                                Lat DOUBLE NOT NULL,
                                                Lng DOUBLE NOT NULL,
                                                PositionDilutionOfPrecision DOUBLE,
                                                HorizontalDilutionOfPrecision DOUBLE,
                                                VerticalDilutionOfPrecision DOUBLE,
                                                FixQuality TINYINT NOT NULL,
                                                FixType TINYINT NOT NULL,
                                                FixSelection TINYINT NOT NULL);
                                               CREATE INDEX IF NOT EXISTS IndexOfGPS ON GPS (TimeUTC, PositionDilutionOfPrecision);";
                           cmd.ExecuteNonQuery();
                        }

                        this.cmd = cn.CreateCommand();
                        {
                           cmd.CommandText = @"INSERT INTO GPS
                                         (TimeUTC,
                                          SessionCounter,
                                          Delta,
                                          Speed,
                                          SeaLevelAltitude,
                                          EllipsoidAltitude,
                                          SatellitesInView,
                                          SatelliteCount,
                                          Lat,
                                          Lng,
                                          PositionDilutionOfPrecision,
                                          HorizontalDilutionOfPrecision,
                                          VerticalDilutionOfPrecision,
                                          FixQuality,
                                          FixType,
                                          FixSelection) VALUES(@p1, @p2, @p3, @p4, @p5, @p6, @p7, @p8, @p9, @p10, @p11, @p12, @p13, @p14, @p15, @p16);";

                           cmd.Parameters.Add(new SQLiteParameter("@p1"));
                           cmd.Parameters.Add(new SQLiteParameter("@p2"));
                           cmd.Parameters.Add(new SQLiteParameter("@p3"));
                           cmd.Parameters.Add(new SQLiteParameter("@p4"));
                           cmd.Parameters.Add(new SQLiteParameter("@p5"));
                           cmd.Parameters.Add(new SQLiteParameter("@p6"));
                           cmd.Parameters.Add(new SQLiteParameter("@p7"));
                           cmd.Parameters.Add(new SQLiteParameter("@p8"));
                           cmd.Parameters.Add(new SQLiteParameter("@p9"));
                           cmd.Parameters.Add(new SQLiteParameter("@p10"));
                           cmd.Parameters.Add(new SQLiteParameter("@p11"));
                           cmd.Parameters.Add(new SQLiteParameter("@p12"));
                           cmd.Parameters.Add(new SQLiteParameter("@p13"));
                           cmd.Parameters.Add(new SQLiteParameter("@p14"));
                           cmd.Parameters.Add(new SQLiteParameter("@p15"));
                           cmd.Parameters.Add(new SQLiteParameter("@p16"));
                           cmd.Prepare();
                        }

                        tr.Commit();
                     }
                     catch
                     {
                        tr.Rollback();
                        ret = false;
                     }
                  }
               }
            }
             }
             catch(Exception ex)
             {
            if(cn != null)
            {
               cn.Dispose();
//.........这里部分代码省略.........
开发者ID:prathika3692,项目名称:greatmaps,代码行数:101,代码来源:MainForm.cs

示例4: GetVar

        /// <summary>
        /// 获得一个字段的值
        /// </summary>
        /// <param name="sql"></param>
        /// <returns></returns>
        public object GetVar(DbCommand cmd)
        {
            object o;

           

            try
            {

                cmd.Connection = dbHelper.CreateConnection();
                o = dbHelper.ExecuteScalar(cmd);

            }
            catch (Exception e)
            {
                throw e;
            }
            finally
            {
                cmd.Dispose();
            }

            return o;
        }
开发者ID:naishengbiao,项目名称:Simple.Framework,代码行数:29,代码来源:Command.cs

示例5: Select

        /// <summary>
        /// 执行select 操作
        /// </summary>
        /// <param name="sql"></param>
        /// <param name="ps"></param>
        /// <returns></returns>
        public DataTable Select(DbCommand cmd)
        {

            
            DataTable Dt = new DataTable();
            try
            {
                cmd.Connection = dbHelper.CreateConnection();
                Dt = dbHelper.ExecuteDataTable(cmd);
            }
            catch (Exception e)
            {
                throw e;
            }
            finally
            {
                cmd.Dispose();
            }

            return Dt;
        }
开发者ID:naishengbiao,项目名称:Simple.Framework,代码行数:27,代码来源:Command.cs

示例6: _internal_Write

        protected override bool _internal_Write()
        {
            lock (FileNameLockObjects[myConfig.DatabaseFile])
            {
                myCmd = new SQLiteCommand();

                //Look if the Connection is still open..
                try
                {
                    string sql = "SELECT id FROM " + dataTable + " WHERE id = 0";
                    myCmd.Connection = myDBConn;
                    myCmd.CommandText = sql;
                    myCmd.ExecuteNonQuery();
                }

                catch (Exception)
                {
                    myDBConn.Close(); //Verbindung schließen!
                    myDBConn.Open();
                    if (myDBConn.State != System.Data.ConnectionState.Open)
                    {
                        Logging.LogText("Error ReConnecting to Database! Dataset:" + datasetConfig.Name, Logging.LogLevel.Error);
                        return false;
                    }
                }

                //Add the Fields to the Database
                myCmd.Connection = myDBConn;
                myCmd.CommandText = insertCommand;
                myCmd.Dispose();

                int tryCounter = 0;
                nomol:
                try
                {

                    using (DbTransaction dbTrans = myDBConn.BeginTransaction())
                    {
                        using (DbCommand cmd = myDBConn.CreateCommand())
                        {
                            cmd.CommandText = insertCommand;
                            for (int n = 0; n < _maxAdd; n++)
                                //foreach (IEnumerable<object> values in _intValueList)
                            {
                                cmd.Parameters.Clear();

                                IEnumerable<object> values = _intValueList[n];
                                var addDateTime = _intDateTimesList[n];

                                if (!string.IsNullOrEmpty(dateFieldName))
                                    cmd.Parameters.Add(new SQLiteParameter("@" + dateFieldName, System.Data.DbType.String) { Value = addDateTime.ToString("yyyy.MM.dd - HH:mm:ss.fff") });

                                using (IEnumerator<DatasetConfigRow> e1 = fieldList.GetEnumerator())
                                using (IEnumerator<object> e2 = values.GetEnumerator())
                                {
                                    while (e1.MoveNext() && e2.MoveNext())
                                    {
                                        //foreach (DatasetConfigRow field in fieldList)
                                        //{
                                        DatasetConfigRow field = e1.Current;
                                        Object value = e2.Current; //values[fnr++];

                                        switch (field.PLCTag.TagDataType)
                                        {
                                            case DotNetSiemensPLCToolBoxLibrary.DataTypes.TagDataType.LInt:
                                            case DotNetSiemensPLCToolBoxLibrary.DataTypes.TagDataType.LWord:
                                            case DotNetSiemensPLCToolBoxLibrary.DataTypes.TagDataType.Int:
                                            case DotNetSiemensPLCToolBoxLibrary.DataTypes.TagDataType.Dint:
                                            case DotNetSiemensPLCToolBoxLibrary.DataTypes.TagDataType.Word:
                                            case DotNetSiemensPLCToolBoxLibrary.DataTypes.TagDataType.Dword:
                                            case DotNetSiemensPLCToolBoxLibrary.DataTypes.TagDataType.Byte:
                                            case DotNetSiemensPLCToolBoxLibrary.DataTypes.TagDataType.BCDByte:
                                            case DotNetSiemensPLCToolBoxLibrary.DataTypes.TagDataType.BCDWord:
                                            case DotNetSiemensPLCToolBoxLibrary.DataTypes.TagDataType.BCDDWord:
                                                cmd.Parameters.Add(new SQLiteParameter("@" + field.DatabaseField, System.Data.DbType.String) {Value = value.ToString()});
                                                break;
                                            case DotNetSiemensPLCToolBoxLibrary.DataTypes.TagDataType.Float:
                                            case DotNetSiemensPLCToolBoxLibrary.DataTypes.TagDataType.LReal:
                                                cmd.Parameters.Add(new SQLiteParameter("@" + field.DatabaseField, System.Data.DbType.String) {Value = value.ToString().Replace(',', '.')});
                                                break;
                                            case DotNetSiemensPLCToolBoxLibrary.DataTypes.TagDataType.DateTime:
                                                cmd.Parameters.Add(new SQLiteParameter("@" + field.DatabaseField, System.Data.DbType.String) {Value = ((DateTime) value).ToString("yyyy-MM-dd HH:mm:ss.fffffff")});
                                                break;
                                            case DotNetSiemensPLCToolBoxLibrary.DataTypes.TagDataType.String:
                                            case DotNetSiemensPLCToolBoxLibrary.DataTypes.TagDataType.CharArray:
                                                cmd.Parameters.Add(new SQLiteParameter("@" + field.DatabaseField, System.Data.DbType.String) {Value = (String) value});
                                                break;
                                        }
                                    }
                                }
                                cmd.ExecuteNonQuery();
                            }

                            //Ringpufferarchiv...
                            if (datasetConfig.MaxDatasets > 0)
                            {
                                string delstr = "DELETE FROM " + dataTable + " WHERE id <= (SELECT max(id) FROM " + dataTable + ") - (" + datasetConfig.MaxDatasets.ToString() + ")";
                                cmd.CommandText = delstr;
                                cmd.ExecuteNonQuery();
                            }
//.........这里部分代码省略.........
开发者ID:zvrkan5,项目名称:DotNetSiemensPLCToolBoxLibrary,代码行数:101,代码来源:SQLLiteStorage.cs

示例7: CreateOrModify_TablesAndFields

        public override void CreateOrModify_TablesAndFields(string dataTable, DatasetConfig datasetConfig)
        {
            this.datasetConfig = datasetConfig;
            if (!string.IsNullOrEmpty(datasetConfig.DatasetTableName)) //Add the posibility to use a specific table_name (for using the table more then ones)
                this.dataTable = datasetConfig.DatasetTableName;
            else
                this.dataTable = dataTable;
            this.fieldList = datasetConfig.DatasetConfigRows;

            List<DatasetConfigRow> createFieldList;

            lock (FileNameLockObjects[myConfig.DatabaseFile])
            {
                //Look if Table exists, when not, create it!
                try
                {
                    string sql = "SELECT * FROM " + dataTable + ";";
                    myCmd.Connection = myDBConn;
                    myCmd.CommandText = sql;
                    myReader = myCmd.ExecuteReader();

                }
                catch (SQLiteException ex)
                {
                    if (ex.ErrorCode == SQLiteErrorCode.Error)
                    {
                        try
                        {
                            string sql = "CREATE TABLE " + dataTable + " (id INTEGER PRIMARY KEY ASC AUTOINCREMENT); ";

                            myCmd.CommandText = sql;
                            myCmd.ExecuteNonQuery();

                            sql = "SELECT * FROM " + dataTable + ";";
                            myCmd.CommandText = sql;
                            myReader = myCmd.ExecuteReader();
                        }
                        catch (SQLiteException ex_ex)
                        {
                            throw ex_ex;
                        }
                    }
                    else
                    {
                        throw ex;
                    }
                }

                //Look for the Fields, create or alter them!
                List<String> existDBFelderliste = new List<string>();

                for (int n = 0; n < myReader.FieldCount; n++)
                {
                    existDBFelderliste.Add(myReader.GetName(n));
                }
                myReader.Close();
                myReader.Dispose();
                myCmd.Dispose();

                //Wenn Date Time Feld gesetzt...
                dateFieldName = datasetConfig.DateTimeDatabaseField;
                createFieldList = new List<DatasetConfigRow>(fieldList);
                if (!string.IsNullOrEmpty(datasetConfig.DateTimeDatabaseField))
                    createFieldList.Add(new DatasetConfigRow() {DatabaseField = dateFieldName, DatabaseFieldType = "TEXT"});


                foreach (DatasetConfigRow myFeld in createFieldList)
                {
                    foreach (string existMyFeld in existDBFelderliste)
                    {
                        if (myFeld.DatabaseField.ToLower() == existMyFeld.ToLower())
                        {
                            goto nextFeld;
                        }
                    }

                    //Feld existiert nicht -> erzeugen

                    string sql = "ALTER TABLE " + dataTable + " ADD COLUMN " + myFeld.DatabaseField + " " + myFeld.DatabaseFieldType;

                    try
                    {
                        myCmd = new SQLiteCommand();
                        myCmd.Connection = myDBConn;
                        myCmd.CommandText = sql;
                        myCmd.ExecuteNonQuery();
                        myCmd.Dispose();

                    }
                    catch (SQLiteException ex)
                    {
                        throw ex;
                    }

                    nextFeld:
                    //Irgendeine anweisung, da sonst der Sprung nicht geht...
                    {
                    }
                }
            }
//.........这里部分代码省略.........
开发者ID:zvrkan5,项目名称:DotNetSiemensPLCToolBoxLibrary,代码行数:101,代码来源:SQLLiteStorage.cs

示例8: ExecuteQueryForReader

 /// <summary>
 ///  This method provide Data Reader (Base Object of type "DbDataReader") which can be 
 ///  type cast to any DataReader class.
 /// </summary>
 /// <param name="selectSQL"> valid SQL select query</param>
 /// <returns>Base Object of type "DbDataReader"</returns>
 /// <example> 
 ///  System.Data.SqlClient.SqlDataReader sqlRd = 
 ///     (System.Data.SqlClient.SqlDataReader)dtl.ExecuteQueryForReader("select * from authors"); 
 ///</example> 
 public Object ExecuteQueryForReader(string selectSQL)
 {
     DbDataReader dbDataRdr;
     try
     {
         _genricCommand = _genricConnection.CreateCommand();
         OpenConnection();
         _genricCommand.CommandType = CommandType.Text;
         _genricCommand.CommandText = selectSQL;
         dbDataRdr = _genricCommand.ExecuteReader(CommandBehavior.CloseConnection);
     }
     finally
     {
         _genricCommand.Dispose();
         _genricCommand = null;
     }
     return (Object)dbDataRdr;
 }
开发者ID:varunkho,项目名称:Akshar,代码行数:28,代码来源:DataAccess.cs

示例9: ExecuteSPForDataReader

        public DbDataReader ExecuteSPForDataReader(string spName, DbParameter[] spParams)
        {
            try
            {
                _genricCommand = _genricConnection.CreateCommand();
                OpenConnection();
                _genricCommand.CommandType = CommandType.StoredProcedure;
                _genricCommand.CommandText = spName;
                if (spParams != null)
                {
                    foreach (var spParam in spParams)
                    {
                        if (spParam.Value == null)
                        {
                            spParam.Value = DBNull.Value;
                        }
                        _genricCommand.Parameters.Add(spParam);
                    }
                }

            return _genricCommand.ExecuteReader(CommandBehavior.CloseConnection);
            }
            finally
            {
                _genricCommand.Dispose();
                _genricCommand = null;
            }
        }
开发者ID:varunkho,项目名称:Akshar,代码行数:28,代码来源:DataAccess.cs

示例10: QueryReader

        /// <summary>
        /// Executes a command, and returns 1 row at a time until all rows are returned
        /// </summary>
        /// <param name="Command">The database command to execute the reader on</param>
        /// <returns></returns>
        public IEnumerable<Dictionary<string, object>> QueryReader(DbCommand Command)
        {
            // Execute the query
            DbDataReader Reader = Command.ExecuteReader();

            // If we have rows, add them to the list
            if (Reader.HasRows)
            {
                // Add each row to the rows list
                while (Reader.Read())
                {
                    Dictionary<string, object> Row = new Dictionary<string, object>(Reader.FieldCount);
                    for (int i = 0; i < Reader.FieldCount; ++i)
                        Row.Add(Reader.GetName(i), Reader.GetValue(i));

                    yield return Row;
                }
            }

            // Cleanup
            Reader.Close();
            Reader.Dispose();
            Command.Dispose();
        }
开发者ID:JohannesHei,项目名称:ControlCenter,代码行数:29,代码来源:DatabaseDriver.cs

示例11: ExecuteScalar

        /// <summary>
        /// 返回第一行第一列的值。
        /// </summary>
        /// <param name="dbCmd">使用的DbCommand。</param>
        /// <returns>包含数据的object对象。</returns>
        public object ExecuteScalar(DbCommand dbCmd)
        {
            if (dbCmd == null)
            {
                return null;
            }
            object value = null;
            try
            {
                using (DbConnection dbConn = CreateDbConnection())
                {
                    if (dbConn == null)
                    {
                        return null;
                    }

                    dbCmd.Connection = dbConn;
                    dbConn.Open();
                    value = dbCmd.ExecuteScalar();
                    dbCmd.Dispose();
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
            return value;
        }
开发者ID:JasonJDong,项目名称:EasyMobileClient_EasyRestaurant,代码行数:33,代码来源:DbUtility.OLMethod.cs

示例12: ExecuteNonQuery

        /// <summary>
        /// 执行没有返回集合的 Transact-SQL 语句或存储过程。
        /// </summary>
        /// <param name="dbCmd">使用的DbCommand。</param>
        /// <returns>所影响的行数。</returns>
        public int ExecuteNonQuery(DbCommand dbCmd)
        {
            try
            {
                if (dbCmd == null)
                {
                    return 0;
                }
                int rowNum = 0;
                using (DbConnection dbConn = CreateDbConnection())
                {
                    if (dbConn == null)
                    {
                        return 0;
                    }
                    dbCmd.Connection = dbConn;
                    dbConn.Open();
                    rowNum = dbCmd.ExecuteNonQuery();
                    dbCmd.Dispose();
                }

                return rowNum;
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
开发者ID:JasonJDong,项目名称:EasyMobileClient_EasyRestaurant,代码行数:33,代码来源:DbUtility.OLMethod.cs

示例13: ExecuteDataSet

        /// <summary>
        /// 返回一个数据集
        /// </summary>
        /// <param name="dbCmd">使用的DbCommand。</param>
        /// <returns>System.Data 类的提供程序的类的新实例</returns>
        public DataSet ExecuteDataSet(DbCommand dbCmd)
        {
            try
            {
                if (dbCmd == null)
                {
                    return null;
                }
                var set = new DataSet();
                using (DbConnection dbConn = CreateDbConnection())
                {
                    if (dbConn == null)
                    {
                        return null;
                    }
                    dbCmd.Connection = dbConn;
                    dbConn.Open();

                    using (DbDataAdapter adapter = CreateDbDataAdapter(dbCmd))
                    {
                        adapter.Fill(set);
                    }
                    dbCmd.Dispose();
                }

                return set;
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
开发者ID:JasonJDong,项目名称:EasyMobileClient_EasyRestaurant,代码行数:37,代码来源:DbUtility.OLMethod.cs

示例14: ExecuteSql

        /// <summary>
        /// 執行SQL 語法
        /// </summary>
        public object ExecuteSql(DbCommand cmd)
        {
            OleDbConnection connection = Connection;
            cmd.Connection = connection;
            try
            {
                connection.Open();
               return cmd.ExecuteNonQuery();

            }
            catch (OleDbException exception)
            {
                throw exception;
            }
            finally
            {
                connection.Close();
                cmd.Dispose();

            }
        }
开发者ID:chrislin123,项目名称:M10Service,代码行数:24,代码来源:Access.cs


注:本文中的System.Data.Common.DbCommand.Dispose方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。