public int AddBusType(String Name,String Description)
 {
     IDataParameter[] idp=new IDataParameter[5];
     idp[0] = createParameter("@Name", Name);
     idp[1] = createParameter("@Description", Description);
     return ExecuteNonQuery("InsertBusTpye");
 }
Example #2
0
 /// <summary>
 /// 
 /// </summary>
 /// <param name="tableName"></param>
 /// <param name="editType"></param>
 public CommandStruct(string tableName, CommandMode editType)
 {
     TableName = tableName;
     EntityType = editType;
     Filter = new CommandFilter();
     Parameters = new IDataParameter[0];
 }
        public void Create(StockPriceHistory entity)
        {
            var sql = @"insert into stockpricehistory(openprice,price,highestprice,lowestprice,ceilingprice,floorprice,yesterdaycloseprice,pricechangepercent,priceshakepercent,exchangerate,exchangeamountinhands,exchangeamountinrmb,pe,pb,flowablemarketvalue,totalmarketvalue,createtime,updatetime,code,name,date) values(@openprice,@price,@highestprice,@lowestprice,@ceilingprice,@floorprice,@yesterdaycloseprice,@pricechangepercent,@priceshakepercent,@exchangerate,@exchangeamountinhands,@exchangeamountinrmb,@pe,@pb,@flowablemarketvalue,@totalmarketvalue,@createtime,@updatetime,@code,@name,@date);";
            var parameters = new IDataParameter[]
            {
                new MySqlParameter("@openprice",entity.OpenPrice),
                new MySqlParameter("@price",entity.Price),
                new MySqlParameter("@highestprice",entity.HighestPrice),
                new MySqlParameter("@lowestprice",entity.LowestPrice),
                new MySqlParameter("@ceilingprice",entity.CeilingPrice),
                new MySqlParameter("@floorprice",entity.FloorPrice),
                new MySqlParameter("@yesterdaycloseprice",entity.YesterdayClosePrice),
                new MySqlParameter("@pricechangepercent",entity.PriceChangePercent),
                new MySqlParameter("@priceshakepercent",entity.PriceShakePercent),
                new MySqlParameter("@exchangerate",entity.ExchangeRate),
                new MySqlParameter("@exchangeamountinhands",entity.ExchangeAmountInHands),
                new MySqlParameter("@exchangeamountinrmb",entity.ExchangeAmountInRMB),
                new MySqlParameter("@pe",entity.PE),
                new MySqlParameter("@pb",entity.PB),
                new MySqlParameter("@flowablemarketvalue",entity.FlowableMarketValue),
                new MySqlParameter("@totalmarketvalue",entity.TotalMarketValue),
                new MySqlParameter("@createtime",DateTime.Now),
                new MySqlParameter("@updatetime",DateTime.Now),
                new MySqlParameter("@code",entity.Code),
                new MySqlParameter("@name",entity.Name),
                new MySqlParameter("@date",entity.Date.ToString("yyyy-MM-dd"))
            };

            this.DbRequest.ExecuteNonQuery(this.ConnectionString, sql, parameters, CommandType.Text);
        }
Example #4
0
        public IList<StockPriceHistory> RetrieveNewLowExchangeAmount(DateTime exchangeDate, int backDays = 10)
        {
            var exchangeDates = this._exchangeDayRepository.RetrieveLatestExchangeDaysBeforeOneDay(exchangeDate, backDays);

            if (exchangeDates.Count == 0)
            {
                return new List<StockPriceHistory>();
            }

            var beginDate = exchangeDates.Min(x => x.Date);
            var endDate = exchangeDates.Max(x => x.Date);

            var sql = @"select * from stockpricehistory as ta inner join
                                                                (
                                                                    select code, min(exchangeamountinrmb) as minrmb
                                                                    from stockpricehistory
                                                                    where date >= @begindate and date <= @enddate and exchangeamountinrmb > 0
                                                                    group by code
                                                                ) as tb
                                                                on ta.code = tb.code
                                                                where ta.date = @exchangedate and ta.exchangeamountinrmb > 0 and ta.exchangeamountinrmb <= tb.minrmb;";

            var parameters = new IDataParameter[]
            {
                new MySqlParameter("@begindate", beginDate.ToString(Setting.Date_Format_4y_2M_2d)),
                new MySqlParameter("@enddate", endDate.ToString(Setting.Date_Format_4y_2M_2d)),
                new MySqlParameter("@exchangedate", exchangeDate.ToString(Setting.Date_Format_4y_2M_2d))
            };
            var table = this.DbRequest.RetrieveTable(this.ConnectionString, sql, parameters, CommandType.Text);

            return table.ToModel<StockPriceHistory>();
        }
 public IList<StockSeasonReport> RetrieveByStock(string stockCode)
 {
     var sql = @"select a.*, b.name from stock_season_report a inner join marketstock b on a.code = b.code where a.code = @code order by a.reportday desc;";
     var parameters = new IDataParameter[] { new MySqlParameter("@code", stockCode) };
     var table = this.DbRequest.RetrieveTable(this.ConnectionString, sql, parameters, CommandType.Text);
     return table.ToModel<StockSeasonReport>();
 }
Example #6
0
 /// <devdoc>
 /// Add a parameter array to the cache for the command.
 /// </devdoc>        
 public void AddParameterSetToCache(IDbCommand command, IDataParameter[] parameters)
 {
     string connectionString = command.Connection.ConnectionString;
     string storedProcedure = command.CommandText;
     string key = CreateHashKey(connectionString, storedProcedure);
     this.paramCache[key] = parameters;
 }
Example #7
0
 private static IDataParameter[] CreateParameterCopy(DbCommand command)
 {
     IDataParameterCollection parameters = command.Parameters;
     IDataParameter[] array = new IDataParameter[parameters.Count];
     parameters.CopyTo(array, 0);
     return CachingMechanism.CloneParameters(array);
 }
        public static DataTable ExcuteDataTableByTextWithTrans(SqlConnection connection, SqlTransaction tran, string sqlText, IDataParameter[] paramers)
        {
            DataTable dt = new DataTable("");
            if (connection.State != ConnectionState.Open)
            {
                connection.Open();
            }

            SqlCommand cmd = new SqlCommand(sqlText, connection, tran);
            cmd.CommandTimeout = 300;
            cmd.CommandType = CommandType.Text;
            if (null != paramers)
            {
                foreach (SqlParameter param in paramers)
                {
                    cmd.Parameters.Add(param);
                }
            }

            ////Add parameter to receive return value of stored procedure
            //SqlParameter pr = new SqlParameter("ReturnValue", SqlDbType.Int);
            //pr.Direction = ParameterDirection.ReturnValue;
            //cmd.Parameters.Add(pr);

            SqlDataAdapter ada = new SqlDataAdapter(cmd);
            ada.Fill(dt);

            return dt;
            //return pr.Value;
        }
Example #9
0
 public static IDataReader ExecuteDataReaderByStoredProc(string storedProcName, IDataParameter[] cmdParms, params IDataParameter[] cmdOutputParms)
 {
     DbCommand dbCommand = db.GetStoredProcCommand(storedProcName);
     BuildDBParameter(db, dbCommand, cmdParms);
     BuildDBParameterForReturnValue(db, dbCommand, cmdOutputParms);
     return db.ExecuteReader(dbCommand);
 }
Example #10
0
        /// <summary>
        /// 获取指定节点下的信息的集合,并显示在数据页中。
        /// </summary>
        /// <param name="nodeId">节点Id。</param>
        /// <param name="isAdmin">是否是管理后台。</param>
        /// <param name="pageIndex">要返回的结果页的索引。pageIndex 从零开始。</param>
        /// <param name="pageSize">要返回的结果页的大小。</param>
        /// <param name="totalRecords">匹配的结果总数。</param>
        /// <returns>包含一页 pageSize InfoEntity 对象的 List 集合,这些对象从 pageIndex 指定的页开始。</returns>
        public virtual List<InfoEntity> GetByNodeId(int nodeId, bool isAdmin, int pageIndex, int pageSize, out int totalRecords)
        {
            Contract.Requires(nodeId > 0);
            Contract.Requires(pageIndex > 0);
            Contract.Requires(pageSize > 0);

            IDataParameter[] parameters = new IDataParameter[5];

            parameters[0] = this.db.NewDataParameter("@NodeId", "%" + nodeId.ToString() + "%");
            parameters[1] = this.db.NewDataParameter("@PageIndex", pageIndex);
            parameters[2] = this.db.NewDataParameter("@PageSize", pageSize);
            parameters[3] = this.db.NewDataParameter("@IsAdmin", isAdmin);
            parameters[4] = this.db.NewOutputDataParameter("@Count");
            parameters[4].DbType = DbType.Int32;

            List<InfoEntity> infos = new List<InfoEntity>(pageSize);

            using (IDataReader reader = this.db.ExcuteReader(CommandType.StoredProcedure, "EF_Info_GetByNodeId", parameters))
            {
                while (reader.Read())
                {
                    InfoEntity info = this.PopulateInfo(reader);
                    infos.Add(info);
                }
            }

            totalRecords = (int)this.db.GetOutputDataParameter("@Count").Value;

            return infos;
        }
		/// <summary>
		/// Determines if a parameter is an XML type parameter.
		/// </summary>
		/// <param name="command">The related command object.</param>
		/// <param name="parameter">The parameter to test.</param>
		/// <returns>True if the parameter is an XML parameter.</returns>
		public override bool IsXmlParameter(IDbCommand command, IDataParameter parameter)
		{
			if (parameter == null) throw new ArgumentNullException("parameter");

			var op = (OracleParameter)parameter;
			return op.OracleDbType == OracleDbType.XmlType;
		}
 protected override void OnMapParameter(IDataParameter input, IDataParameter output)
 {
     if (input.DbType == DbType.String && ((string)input.Value).Length > 4000)
     {
         ((SqlCeParameter)output).SqlDbType = SqlDbType.NText;
     }
 }
Example #13
0
 internal static Boolean TryGetCart(String Emplid, out List<ShopCartItem> result, out Exception error)
 {
     result = new List<ShopCartItem>();
     error = null;
     try
     {
         using (DataWorker dw = DataWorkerFactory.CreateDataWorker("RDSDB"))
         {
             IDataParameter[] args = new IDataParameter[]{
                 dw.NewParameter("EMPLID", Emplid)
             };
             DataTable dt = dw.ExecuteDataTable("PWEATHERBY.SHOP_CART.GetCart", CommandType.StoredProcedure, ref args);
             foreach (DataRow dr in dt.Rows)
             {
                 ShopCartItem item = new ShopCartItem();
                 item.Term = Convert.ToString(dr["TERM"]);
                 item.SessionGroup = Convert.ToString(dr["SESSION_GROUP"]);
                 item.CourseID = Convert.ToString(dr["COURSE_ID"]);
                 item.CourseOfferNbr = Convert.ToString(dr["COURSE_OFFER_NBR"]);
                 item.Subject = Convert.ToString(dr["SUBJECT"]);
                 item.ClassNumber = Convert.ToString(dr["CLASS_NUMBER"]);
                 item.ClassSection = Convert.ToString(dr["CLASS_SECTION"]);
                 item.RegistrationNbr = Convert.ToString(dr["REGISTRATION_NBR"]);
                 result.Add(item);
             }
             return true;
         }
     }
     catch (Exception e)
     {
         error = e;
     }
     return false;
 }
        /// <summary>
        /// 构建 SqlCommand 对象(用来返回一个结果集,而不是一个整数值)
        /// </summary>
        /// <param name="connection">数据库连接</param>
        /// <param name="storedProcName">存储过程名</param>
        /// <param name="parameters">存储过程参数</param>
        /// <returns>SqlCommand</returns>
        public static SqlCommand BuildQueryCommand(SqlConnection connection, string storedProcName, IDataParameter[] parameters)
        {
            SqlCommand command = new SqlCommand(storedProcName, connection);
            command.CommandType = CommandType.StoredProcedure;

            /*
             * 修改点(刘强)
             * 当要执行的存储过程没有参数时,这里会报错,所以加了一个if判断,判断parameters不为空时,才去执行foreach
             * **/
            if (parameters != null)
            {
                foreach (SqlParameter parameter in parameters)
                {
                    if (parameter != null)
                    {
                        // 检查未分配值的输出参数,将其分配以DBNull.Value.
                        if ((parameter.Direction == ParameterDirection.InputOutput || parameter.Direction == ParameterDirection.Input) &&
                            (parameter.Value == null))
                        {
                            parameter.Value = DBNull.Value;
                        }
                        command.Parameters.Add(parameter);
                    }
                }
            }

            return command;
        }
 public int InsertPacking_Place(int id,String name,int c_id,Boolean status)
 {
     IDataParameter[] idp = new IDataParameter[3];
     idp[0] = createParameter("@Name", name);
     idp[1] = createParameter("@Ci_Id", c_id);
     idp[2] = createParameter("@Status", status);
     return ExecuteNonQuery("InsertParking_Place",idp);
 }
Example #16
0
 public DataTable GetList_PhuCap_byCNVC(string p_ma_hop_dong, string p_ma_nv)
 {
     IDataParameter[] paras = new IDataParameter[2]{
         new NpgsqlParameter("p_ma_hop_dong",p_ma_hop_dong),
         new NpgsqlParameter("p_ma_nv",p_ma_nv)
     };
     return dp.getDataTableProc("sp_select_cnvc_phu_cap", paras);
 }
Example #17
0
			public Binding(PhpReference/*!*/ variable, IDataParameter/*!*/ parameter, ParameterType type)
			{
				Debug.Assert(variable != null && parameter != null && type != ParameterType.Invalid);

				this.Variable = variable;
				this.Parameter = parameter;
				this.Type = type;
			}
Example #18
0
 public virtual object ExecuteSingle(string sql, IDataParameter[] parameters)
 {
     CheckConnection();
     using (SqlCommand cmd = new SqlCommand(sql, Connection))
     {
         return cmd.ExecuteScalar();
     }
 }
        public PersonalExchangeHistory Retrieve(int exchangeHistoryId)
        {
            var sql = @"select * from personalexchangehistory where id = @id;";
            var parameters = new IDataParameter[] { new MySqlParameter("@id", exchangeHistoryId) };
            var table = this.DbRequest.RetrieveTable(this.ConnectionString, sql, parameters, CommandType.Text);

            return table.Rows.Count == 0 ? null : table.Rows[0].ToModel<PersonalExchangeHistory>();
        }
        public static string GetParameterSpecifier(this IProviderMetadata metadata, IDataParameter parameter)
        {
            if (parameter == null) throw new ArgumentNullException("parameter");
            if (!parameter.ParameterName.StartsWith("@", StringComparison.Ordinal)) throw new ArgumentException("Parameter names must start with an '@'.");

            string name = parameter.ParameterName.Substring(1); // the name itself starts after the @
            return metadata.ParameterExpression.Replace("p", name);
        }
Example #21
0
 public void SetParameter(IDataParameter parameter, object value)
 {
     if (value == null)
     {
         value = (object)DBNull.Value;
     }
     parameter.Value = value;
 }
Example #22
0
        public IList<Filter> GetPersonalFilters(int userId)
        {
            var sql = @"select * from filter where userid = @userid;";
            var parameters = new IDataParameter[] { new MySqlParameter("@userid", userId) };
            var table = this.DbRequest.RetrieveTable(this.ConnectionString, sql, parameters, CommandType.Text);

            return table.ToModel<Filter>();
        }
 /// <summary>
 /// 创建 SqlCommand 对象实例(用来返回一个整数值)	
 /// </summary>
 /// <param name="storedProcName">存储过程名</param>
 /// <param name="parameters">存储过程参数</param>
 /// <returns>SqlCommand 对象实例</returns>
 public static SqlCommand BuildIntCommand(SqlConnection connection, string storedProcName, IDataParameter[] parameters)
 {
     SqlCommand command = BuildQueryCommand(connection, storedProcName, parameters);
     command.Parameters.Add(new SqlParameter("ReturnValue",
         SqlDbType.Int, 4, ParameterDirection.ReturnValue,
         false, 0, 0, string.Empty, DataRowVersion.Default, null));
     return command;
 }
Example #24
0
        public User RetrieveByUserName(string userName)
        {
            var sql = @"select * from user where username= @username and disabled = 0;";
            var parameters = new IDataParameter[] { new MySqlParameter("@username", userName) };
            var table = this.DbRequest.RetrieveTable(this.ConnectionString, sql, parameters, CommandType.Text);

            return table.Rows.Count == 0 ? null : table.Rows[0].ToModel<User>();
        }
Example #25
0
 public SelfStockGroup Retrieve(int stockGroupId)
 {
     var parameters = new IDataParameter[]
     {
         new MySqlParameter("@P_ID", stockGroupId)
     };
     return this.DbRequest.RetrieveTable(this.ConnectionString, "P_STOCK_GROUP_GET", parameters).ToModel<SelfStockGroup>().FirstOrDefault();
 }
Example #26
0
 public IList<SelfStockGroup> RetrieveAllGroupsByUserId(int userId)
 {
     var parameters = new IDataParameter[]
     {
         new MySqlParameter("@P_UserId", userId)
     };
     return this.DbRequest.RetrieveTable(this.ConnectionString, "P_STOCK_GROUP_GET_BY_USER", parameters).ToModel<SelfStockGroup>();
 }
Example #27
0
        public MarketStock Retrieve(string stockCode)
        {
            var sql = @"select * from marketstock where code = @code;";
            var parameters = new IDataParameter[] { new MySqlParameter("@code", stockCode) };
            var table = this.DbRequest.RetrieveTable(this.ConnectionString, sql, parameters, CommandType.Text);

            return table.Rows.Count == 0 ? null : table.Rows[0].ToModel<MarketStock>();
        }
        public IList<PersonalExchangeHistory> GetAllExchangeHistoriesByUser(int userId)
        {
            var sql = @"select * from personalexchangehistory where userid=@userid;";
            var parameters = new IDataParameter[] { new MySqlParameter("@userid", userId) };
            var table = this.DbRequest.RetrieveTable(this.ConnectionString, sql, parameters, CommandType.Text);

            return table.ToModel<PersonalExchangeHistory>();
        }
Example #29
0
 public void SetProcParameter(IDataParameter dp, string name, object value, ParameterDirection direction)
 {
     dp.ParameterName = "@" + name;
     if (value == null)
         dp.Value = DBNull.Value;
     else
         dp.Value = value;
     dp.Direction = direction;
 }
        public int Add(IDataParameter value)
        {
            Trace.WriteLine("DataSet Extension: Add(IDataParameter value).");

            if (((DataSetDataParameter)value).ParameterName != null)
                return base.Add(value);
            else
                throw new ArgumentException("Parameter must be named.");
        }
        /// <summary>
        /// 通过存储过程“Common_GetListBySortColumn”,得到分页后的数据
        /// </summary>
        /// <param name="startRowIndexId">开始行索引</param>
        /// <param name="maxNumberRows">每页最大显示数量</param>
        /// <param name="PrimaryColumn">主键字段名</param>
        /// <param name="SortColumnDbType">排序字段的数据类型(如:int)</param>
        /// <param name="SortColumn">排序字段名,只能指定一个字段</param>
        /// <param name="StrColumn">返回列名</param>
        /// <param name="Sorts">排序方式(DESC,ASC)</param>
        /// <param name="Filter">查询条件(例如: Name = 'name' and id=1 )</param>
        /// <param name="TableName">查询表名,可以指定联合查询的SQL语句(例如: Comment LEFT JOIN Users ON Comment.UserName = Users.UserName)</param>
        /// <param name="Total">输出参数:查询总数</param>
        /// <returns></returns>
        public virtual IList <RemindItemEntity> GetListBySortColumn(int startRowIndexId, int maxNumberRows, string PrimaryColumn, string SortColumnDbType, string SortColumn, string StrColumn, string Sorts, string Filter, string TableName, out int Total)
        {
            IList <RemindItemEntity> list = new List <RemindItemEntity>();

            if (string.IsNullOrEmpty(PrimaryColumn))
            {
                PrimaryColumn = "RemindID";
            }
            if (string.IsNullOrEmpty(SortColumnDbType))
            {
                SortColumnDbType = "int";
            }
            if (string.IsNullOrEmpty(SortColumn))
            {
                SortColumn = "RemindID";
            }
            if (string.IsNullOrEmpty(StrColumn))
            {
                StrColumn = "*";
            }
            if (string.IsNullOrEmpty(Sorts))
            {
                Sorts = "DESC";
            }
            if (string.IsNullOrEmpty(TableName))
            {
                TableName = "RemindItem";
            }
            string       storedProcedureName  = "Common_GetListBySortColumn";
            SqlParameter parmStartRows        = new SqlParameter("StartRows", startRowIndexId);
            SqlParameter parmPageSize         = new SqlParameter("PageSize", maxNumberRows);
            SqlParameter parmPrimaryColumn    = new SqlParameter("PrimaryColumn", PrimaryColumn);
            SqlParameter parmSortColumnDbType = new SqlParameter("SortColumnDbType", SortColumnDbType);
            SqlParameter parmSortColumn       = new SqlParameter("SortColumn", SortColumn);
            SqlParameter parmStrColumn        = new SqlParameter("StrColumn", StrColumn);
            SqlParameter parmSorts            = new SqlParameter("Sorts", Sorts);
            SqlParameter parmTableName        = new SqlParameter("TableName", TableName);
            SqlParameter parmFilter           = new SqlParameter("Filter", Filter);
            SqlParameter parmTotal            = new SqlParameter("Total", SqlDbType.Int);

            parmTotal.Direction = ParameterDirection.Output;
            IDataParameter[] parameterArray = new IDataParameter[10];
            parameterArray[0] = parmStartRows;
            parameterArray[1] = parmPageSize;
            parameterArray[2] = parmPrimaryColumn;
            parameterArray[3] = parmSortColumnDbType;
            parameterArray[4] = parmSortColumn;
            parameterArray[5] = parmStrColumn;
            parameterArray[6] = parmSorts;
            parameterArray[7] = parmTableName;
            parameterArray[8] = parmFilter;
            parameterArray[9] = parmTotal;
            using (NullableDataReader reader = _DB.GetDataReaderByProc(storedProcedureName, parameterArray))
            {
                while (reader.Read())
                {
                    list.Add(GetEntityFromrdr(reader));
                }
            }
            Total = (int)parmTotal.Value;
            return(list);
        }
Example #32
0
 public override string GetNativeDbTypeName(IDataParameter para)
 {
     return(((NpgsqlParameter)para).NpgsqlDbType.ToString());
 }
Example #33
0
        /// <summary>
        /// Retrieve the output parameter and map them on the result object.
        /// This routine is only use is you specified a ParameterMap and some output attribute
        /// or if you use a store procedure with output parameter...
        /// </summary>
        /// <param name="request"></param>
        /// <param name="session">The current session.</param>
        /// <param name="result">The result object.</param>
        /// <param name="command">The command sql.</param>
        private static void RetrieveOutputParameters(RequestScope request, ISession session, IDbCommand command, object result)
        {
            if (request.ParameterMap != null && request.ParameterMap.HasOutputParameter)
            {
                int count = request.ParameterMap.PropertiesList.Count;
                for (int i = 0; i < count; i++)
                {
                    ParameterProperty mapping = request.ParameterMap.GetProperty(i);
                    if (mapping.Direction == ParameterDirection.Output ||
                        mapping.Direction == ParameterDirection.InputOutput)
                    {
                        string parameterName = string.Empty;
                        if (session.SessionFactory.DataSource.DbProvider.UseParameterPrefixInParameter == false)
                        {
                            parameterName = mapping.ColumnName;
                        }
                        else
                        {
                            parameterName = session.SessionFactory.DataSource.DbProvider.ParameterPrefix +
                                            mapping.ColumnName;
                        }

                        if (mapping.TypeHandler == null) // Find the TypeHandler
                        {
                            lock (mapping)
                            {
                                if (mapping.TypeHandler == null)
                                {
                                    Type propertyType = ObjectProbe.GetMemberTypeForGetter(result, mapping.PropertyName);

                                    mapping.TypeHandler = request.DataExchangeFactory.TypeHandlerFactory.GetTypeHandler(propertyType);
                                }
                            }
                        }

                        // Fix IBATISNET-239
                        //"Normalize" System.DBNull parameters
                        IDataParameter dataParameter = (IDataParameter)command.Parameters[parameterName];
                        object         dbValue       = dataParameter.Value;

                        object value = null;

                        bool wasNull = (dbValue == DBNull.Value);
                        if (wasNull)
                        {
                            if (mapping.HasNullValue)
                            {
                                value = mapping.TypeHandler.ValueOf(mapping.GetAccessor.MemberType, mapping.NullValue);
                            }
                            else
                            {
                                value = mapping.TypeHandler.NullValue;
                            }
                        }
                        else
                        {
                            value = mapping.TypeHandler.GetDataBaseValue(dataParameter.Value, result.GetType());
                        }

                        request.IsRowDataFound = request.IsRowDataFound || (value != null);

                        request.ParameterMap.SetOutputParameter(ref result, mapping, value);
                    }
                }
            }
        }
 private bool IsInputParamter(IDataParameter parameter)
 {
     //Due to quirk in DeriveParameters can only verify Input parameter as output parameters
     //are incorrectly listed as InputOutput
     return(parameter.Direction == ParameterDirection.Input);
 }
Example #35
0
 /// <summary>
 /// 获取当前数据库类型的参数数据类型名称
 /// </summary>
 /// <param name="para"></param>
 /// <returns></returns>
 public abstract string GetNativeDbTypeName(IDataParameter para);
Example #36
0
        public static bool Update(Project project, ref string msg)
        {
            bool   ret       = false;
            string updateSql = "UPDATE HPMS_Project SET" +
                               " PNCustomer = @pncustomer, Length = @length, AWG = @awg, Diff = @diff, Single = @single," +
                               "Tdr = @tdr,DiffPair = @diffpair,NextPair = @nextpair,FextPair = @fextpair,ReportTempletePath = @reporttempletepath," +
                               "RomFileMode = @romfilemode,RomFilePath = @romfilepath,RomWrite = @romwrite,SwitchFilePath = @switchfilepath,FreSpec = @frespec," +
                               "FrePoints = @frepoints,Tdd11 =@tdd11,Tdd22 = @tdd22,ILD = @ild,Skew = @skew," +
                               "Customer = @customer,FreSpecFilePath = @frespecfilepath, Speed = @speed,ProductTypeL = @producttypel,ProductTypeR = @producttyper," +
                               "Power = @power, Description = @description,CalFilePath = @calfilepath,Keypoint = @keypoint,Srevert=@srevert,Trevert=@trevert,Report=@report where PN = @pn ";

            IDataParameter[] b = new IDataParameter[33];

            b[0] = Gloabal.GDatabase.CreatePara("pn", project.Pn);
            b[1] = Gloabal.GDatabase.CreatePara("pncustomer", project.PnCustomer);
            b[2] = Gloabal.GDatabase.CreatePara("length", project.Length);
            b[3] = Gloabal.GDatabase.CreatePara("awg", project.Awg);
            b[4] = Gloabal.GDatabase.CreatePara("diff", Convert.List2Str(project.Diff));

            b[5] = Gloabal.GDatabase.CreatePara("single", Convert.List2Str(project.Single));
            b[6] = Gloabal.GDatabase.CreatePara("tdr", Convert.List2Str(project.Tdr));
            b[7] = Gloabal.GDatabase.CreatePara("diffpair", Convert.List2Str(project.DiffPair));
            b[8] = Gloabal.GDatabase.CreatePara("nextpair", Convert.List2Str(project.NextPair));
            b[9] = Gloabal.GDatabase.CreatePara("fextpair", Convert.List2Str(project.FextPair));

            b[10] = Gloabal.GDatabase.CreatePara("reporttempletepath", project.ReportTempletePath);
            b[11] = Gloabal.GDatabase.CreatePara("romfilemode", project.RomFileMode.ToString());
            b[12] = Gloabal.GDatabase.CreatePara("romfilepath", project.RomFilePath);
            b[13] = Gloabal.GDatabase.CreatePara("romwrite", project.RomWrite);
            b[14] = Gloabal.GDatabase.CreatePara("switchfilepath", project.SwitchFilePath);

            b[15] = Gloabal.GDatabase.CreatePara("frespec", project.FreSpec);
            b[16] = Gloabal.GDatabase.CreatePara("frepoints", project.FrePoints);
            b[17] = Gloabal.GDatabase.CreatePara("tdd11", Serializer.Object2Json(project.Tdd11));
            b[18] = Gloabal.GDatabase.CreatePara("tdd22", Serializer.Object2Json(project.Tdd22));
            b[19] = Gloabal.GDatabase.CreatePara("ild", project.Ild.ToString());

            b[20] = Gloabal.GDatabase.CreatePara("skew", project.Skew);
            b[21] = Gloabal.GDatabase.CreatePara("customer", project.Customer);
            b[22] = Gloabal.GDatabase.CreatePara("frespecfilepath", project.FreSpecFilePath);
            b[23] = Gloabal.GDatabase.CreatePara("speed", project.Speed);
            b[24] = Gloabal.GDatabase.CreatePara("producttypel", project.ProductTypeL);


            b[25] = Gloabal.GDatabase.CreatePara("producttyper", project.ProductTypeR);
            b[26] = Gloabal.GDatabase.CreatePara("power", project.Power);
            b[27] = Gloabal.GDatabase.CreatePara("description", project.Description);
            b[28] = Gloabal.GDatabase.CreatePara("calfilepath", project.CalFilePath);
            b[29] = Gloabal.GDatabase.CreatePara("keypoint", project.KeyPoint);
            b[30] = Gloabal.GDatabase.CreatePara("srevert", project.Srevert);
            b[31] = Gloabal.GDatabase.CreatePara("trevert", project.Trevert);
            b[32] = Gloabal.GDatabase.CreatePara("report", project.Report);



            int updateCount = Gloabal.GDatabase.ExecuteSql(updateSql, b);

            if (updateCount == 1)
            {
                ret = true;
            }


            return(ret);
        }
        public override void Set(IDbCommand cmd, object value, int index)
        {
            IDataParameter par = (IDataParameter)cmd.Parameters[index];

            par.Value = value != null?GetValue(value) : DBNull.Value;
        }
Example #38
0
 public override string GetNativeDbTypeName(IDataParameter para)
 {
     return(para.DbType.ToString());
 }
Example #39
0
 DataParameterBase IProvider.GetDataParameter(IDataParameter parameter)
 {
     throw new NotImplementedException();
 }
 /// <summary>
 ///  Sets a parameter on a IDbCommand
 /// </summary>
 /// <param name="dataParameter">the parameter</param>
 /// <param name="parameterValue">the parameter value</param>
 /// <param name="dbType">the dbType of the parameter</param>
 public override void SetParameter(IDataParameter dataParameter, object parameterValue, string dbType)
 {
     dataParameter.DbType = DbType.AnsiString;
     base.SetParameter(dataParameter, parameterValue, dbType);
 }
Example #41
0
 /// <summary>
 /// Handle any provider-specific issues with BLOBs here by "washing" the IDataParameter and returning a new one that is set up appropriately for the provider.
 /// </summary>
 /// <param name="connection">The IDbConnection to use in cleansing the parameter</param>
 /// <param name="p">The parameter before cleansing</param>
 /// <returns>The parameter after it's been cleansed.</returns>
 protected override IDataParameter GetBlobParameter(IDbConnection connection, IDataParameter p)
 {
     // do nothing special for BLOBs...as far as we know now.
     return(p);
 }
 protected static MethodParameter MethodParameterFromDataParameter(IDataParameter parameter) => new MethodParameter
 {
     Name = parameter.ParameterName.Replace("@", "")
 };
        /// <summary>
        /// Clones a parameter so that it can be used with another command.
        /// </summary>
        /// <param name="command">The command to use.</param>
        /// <param name="parameter">The parameter to clone.</param>
        /// <returns>The clone.</returns>
        public override IDataParameter CloneParameter(IDbCommand command, IDataParameter parameter)
        {
            NpgsqlParameter p = (NpgsqlParameter)parameter;

            return((IDataParameter)p.Clone());
        }
Example #44
0
        /// <summary>
        /// Get the flights details for a given flight from the database
        /// </summary>
        /// <parameter name="FlightId"></parameter>
        /// <returns>Returns a flight for a given flight id from the database</returns>
        public Flight GetFlight(int FlightId)
        {
            Flight        flight = null;
            IDbConnection conn   = null;
            IDbConnection conn2  = null;

            try
            {
                conn = this.GetConnection();
                conn.Open();
                IDbCommand cmd1 = conn.CreateCommand();
                cmd1.CommandText = "GetFlightsID";
                cmd1.CommandType = CommandType.StoredProcedure;

                IDataParameter p1 = cmd1.CreateParameter();
                p1.ParameterName = "@FlightID";
                p1.Value         = FlightId;
                cmd1.Parameters.Add(p1);


                conn2 = this.GetConnection();
                conn2.Open();
                IDbCommand cmd2 = conn2.CreateCommand();
                cmd2.CommandText = "GetFlightClasses";
                cmd2.CommandType = CommandType.StoredProcedure;
                IDataParameter p = cmd2.CreateParameter();
                p.ParameterName = "@FlightId";
                cmd2.Parameters.Add(p);

                using (IDataReader Reader = cmd1.ExecuteReader())
                {
                    while (Reader.Read())
                    {
                        flight                       = new Flight();
                        flight.ID                    = long.Parse(Reader["FlightId"].ToString());
                        flight.Name                  = Reader["FlightName"].ToString();
                        flight.AirlineForFlight      = new Airline();
                        flight.AirlineForFlight.Id   = int.Parse(Reader["AirlineId"].ToString());
                        flight.AirlineForFlight.Name = Reader["AirlineName"].ToString();
                        flight.AirlineForFlight.Code = Reader["AirlineCode"].ToString();

                        p.Value = flight.ID;

                        using (IDataReader reader2 = cmd2.ExecuteReader())
                        {
                            try
                            {
                                while (reader2.Read())
                                {
                                    FlightClass fClass  = null;
                                    int         classid = int.Parse(reader2["ClassId"].ToString());
                                    fClass.ClassInfo = (TravelClass)classid;

                                    fClass.NoOfSeats = int.Parse(reader2["NoOfSeats"].ToString());
                                    flight.AddClass(fClass);
                                }
                            }
                            catch (Exception ex)
                            {
                                throw ex;
                            }
                        }
                    }
                }
            }
            catch (Common.ConnectToDatabaseException)
            {
                throw new FlightDAOException("Unable to get the flight details");
            }
            catch (Exception)
            {
                throw new FlightDAOException("Unable to get the flight details");
            }
            finally
            {
                if (conn != null && conn.State == ConnectionState.Open)
                {
                    conn.Close();
                }

                if (conn2 != null && conn2.State == ConnectionState.Open)
                {
                    conn2.Close();
                }
            }

            return(flight);
        }
 public void AddParameter(IDataParameter param)
 {
     cmd.Parameters.Add(param);
 }
Example #46
0
        protected static List <IBCommand> GetIBFormDataInner(List <IDataControl> IBControls, CommonDB DB)
        {
            List <IBCommand> IBCommands = new List <IBCommand>();

            //获取表单中的CRUD 语句。
            while (IBControls.Count > 0)
            {
                string strTableName = "";
                string strInsert    = "";
                string strFields    = "";
                string strValues    = "";
                string strUpdate    = "";
                string strCondition = "";
                int    nullCount    = 0;
                int    ID           = -1;

                int paraIndex = 0;
                List <IDataParameter> paraList = new List <IDataParameter>();

                for (int i = 0; i < IBControls.Count; i++)// object objCtr in IBControls)
                {
                    object objCtr = IBControls[i];
                    if (objCtr != null)
                    {
                        IDataControl ibCtr = objCtr as IDataControl;
                        //只有非只读的控件才可以更新数据到数据库
                        if (ibCtr != null)
                        {
                            if (strTableName == "" && ibCtr.LinkObject != "")
                            {
                                strTableName = ibCtr.LinkObject;
                                strInsert    = "INSERT INTO [" + strTableName + "](";
                                strUpdate    = "UPDATE [" + strTableName + "] SET ";
                            }
                            //找到当前处理的表,只有非只读的字段可以更新
                            if (strTableName == ibCtr.LinkObject && ibCtr.LinkProperty != "")
                            {
                                #region 原来获取值得方法
                                //string cValue=ibCtr.GetValue ().ToString ().Replace ("'","''");

                                ////dth,2008.4.11 处理字符串类型为空的情况
                                ////防止SQL注入式攻击
                                ////不论是否为空都进行字符串类型测试
                                //if(ibCtr.SysTypeCode==System.TypeCode.String || ibCtr.SysTypeCode==System.TypeCode.Empty)
                                //{
                                //    cValue="'"+ cValue +"'";
                                //}
                                //else
                                //{
                                //    if(cValue!="")
                                //    {
                                //        if(ibCtr.SysTypeCode==System.TypeCode.Boolean )
                                //            cValue=(cValue.ToUpper ()=="TRUE"?"1":"0");
                                //        else if(ibCtr.SysTypeCode==System.TypeCode.DateTime )
                                //        {
                                //            if (DB.CurrentDBMSType == DBMSType.SQLite)
                                //                cValue = "'" + DateTime.Parse(cValue).ToString("s") + "'";
                                //            else
                                //                cValue = "'" + cValue + "'";//SQL SERVER 日期格式

                                //        }
                                //        else if(ibCtr.SysTypeCode==System.TypeCode.DBNull )
                                //        {
                                //            cValue="NULL";
                                //        }
                                //        else if(ibCtr.SysTypeCode==System.TypeCode.Object )
                                //        {
                                //            //Object 标记不做任何处理,例如可以使用最大值加一获取主键值

                                //        }
                                //        else if(!(ibCtr.SysTypeCode==System.TypeCode.String || ibCtr.SysTypeCode==System.TypeCode.Empty))
                                //        {
                                //            //如果不是字符串那么试图进行数字转换
                                //            cValue=Convert.ToDouble (cValue).ToString ();
                                //        }

                                //    }
                                //}
                                #endregion

                                string cValue   = string.Empty;
                                object ctlValue = ibCtr.GetValue();

                                //非只读的数据才更新
                                if (ctlValue != DBNull.Value)
                                {
                                    cValue = DB.GetParameterChar + "P" + paraIndex++;
                                    IDataParameter para = DB.GetParameter(cValue, ctlValue);
                                    if (ibCtr.SysTypeCode == System.TypeCode.String || ibCtr.SysTypeCode == System.TypeCode.Empty)
                                    {
                                        if (ibCtr is IDataTextBox)
                                        {
                                            int maxStringLength = ((IDataTextBox)ibCtr).MaxLength;
                                            if (maxStringLength > 0)
                                            {
                                                ((IDbDataParameter)para).Size = maxStringLength;
                                            }
                                        }
                                    }
                                    paraList.Add(para);

                                    //2010.1.25 取消 ibCtr.PrimaryKey 不能更新的限制,例如可以让GUID主键列可以更新
                                    //如果是自增列,设置该列的控件属性为 只读属性即可。
                                    if (!ibCtr.ReadOnly)
                                    {
                                        strFields += "[" + ibCtr.LinkProperty + "],";
                                        strValues += cValue + ",";
                                        strUpdate += "[" + ibCtr.LinkProperty + "] = " + cValue + ",";
                                    }
                                    if (ibCtr.PrimaryKey) //只要是主键就作为更新的条件
                                    {
                                        strCondition += " And [" + ibCtr.LinkProperty + "] = " + cValue;
                                        if (ibCtr.SysTypeCode == System.TypeCode.Int32)
                                        {
                                            ID = int.Parse(ctlValue.ToString());
                                        }
                                        else
                                        {
                                            ID = -2;//主键可能是非数字型
                                        }
                                    }
                                }
                            }
                            IBControls[i] = null;
                        }
                    }
                    else
                    {
                        nullCount++;
                    }
                }//end for

                if (nullCount >= IBControls.Count - 1)
                {
                    break;
                }

                strInsert += strFields.TrimEnd(',') + ") VALUES (" + strValues.TrimEnd(',') + ")";
                strUpdate  = strUpdate.TrimEnd(',') + " WHERE 1=1 " + strCondition;

                IBCommand ibcmd = new IBCommand(strTableName);
                ibcmd.InsertCommand = strInsert;
                ibcmd.UpdateCommand = strUpdate;
                //if( ID>0)
                ibcmd.InsertedID = ID;
                ibcmd.Parameters = paraList.ToArray();

                IBCommands.Add(ibcmd);
            }//end while

            return(IBCommands);
        }
Example #47
0
 /// <summary>
 /// Sets data type to command parameter <paramref name="param"/>.
 /// </summary>
 /// <param name="param">Parameter for <see cref="IDbCommand"/> commands.</param>
 public abstract void SetParameterDbType(IDataParameter param);
 /// <summary>
 /// Sets a parameter on a IDbCommand
 /// </summary>
 /// <param name="dataParameter">the parameter</param>
 /// <param name="parameterValue">the parameter value</param>
 /// <param name="dbType">the dbType of the parameter</param>
 public override void SetParameter(IDataParameter dataParameter, object parameterValue, string dbType)
 {
     dataParameter.Value = DBNull.Value;
 }
Example #49
0
    public DataParameterBase GetDataParameter(IDataParameter parameter)
    {
        var oleDbParameter = (OleDbParameter)parameter;

        return(new DataParameterImp(oleDbParameter));
    }
Example #50
0
        private static void HandleDetailsUpdate(HttpRequest Request, HttpResponse Response, Guid userId)
        {
            BinaryReader r = new BinaryReader(Request.InputStream);
            int          responseVersion = 0;
            int          responseCode    = -1;
            Encoding     e = Encoding.Unicode;

            try
            {
                int clientVersion = r.ReadInt32();
                responseVersion = clientVersion;
                if (userId == Guid.Empty)
                {
                    responseCode = -2;
                    return;
                }
                int itemcount = r.ReadInt32();
                using (Db db = new Db())
                {
                    db.CommandText = "UPDATE tPhoto SET name=@title, comment=@text WHERE id=@photoId";
                    IDataParameter pid    = db.AddParameter("@photoId", Guid.Empty);
                    IDataParameter ptitle = db.AddParameter("@title", string.Empty);
                    IDataParameter ptext  = db.AddParameter("@text", string.Empty);
                    for (int i = 0; i < itemcount; i++)
                    {
                        Guid   photoId = new Guid(r.ReadBytes(16));
                        int    len;
                        byte[] raw;
                        len = r.ReadInt32();
                        raw = r.ReadBytes(len);
                        string title = e.GetString(raw, 0, raw.Length - 2);

                        len = r.ReadInt32();
                        raw = r.ReadBytes(len);
                        string text = e.GetString(raw, 0, raw.Length - 2);

                        bool ok;
                        try
                        {
                            Database.EnforcePhotoPermission(userId, photoId, Permission.Change);
                            pid.Value    = photoId;
                            ptitle.Value = title;
                            ptext.Value  = text;
                            ok           = db.ExecuteNonQuery(0) == 1;
                        }
                        catch (System.Data.SqlClient.SqlException exc)
                        {
                            string debug = exc.ToString();
                            throw;
                        }
                        catch (Error_AccessDenied)
                        {
                            ok = false;
                            Log.LogSecurity(2, "Denied access to edit photo details with client control. userId:{0}, photoId:{1}, title{2}, text:{3}.",
                                            userId, photoId, title, text);
                        }
                    }
                }
                responseCode = 0;
                Log.LogStatistics(2, "Updated details for {0} photos.", itemcount);
            }
            catch
            {
                responseCode = -1;
                throw;
            }
            finally
            {
                BinaryWriter writer = new BinaryWriter(Response.OutputStream);

                writer.Write(responseVersion);
                writer.Write(responseCode);

                writer.Flush();
            }
        }
Example #51
0
 /// <summary>
 ///  Sets a parameter on a IDbCommand
 /// </summary>
 /// <param name="dataParameter">the parameter</param>
 /// <param name="parameterValue">the parameter value</param>
 /// <param name="dbType">the dbType of the parameter</param>
 public override void SetParameter(IDataParameter dataParameter, object parameterValue, string dbType)
 {
     dataParameter.Value = Convert.ChangeType(parameterValue, Enum.GetUnderlyingType(parameterValue.GetType()));
 }
Example #52
0
        protected void SaveChoose()
        {
            string strId = Request.QueryString.Get("id");

            string strEndId = ViewState["ChooseId"].ToString();


            if (strEndId == "")
            {
                strEndId = "0";
            }
            else
            {
                RandomExamBLL             objBll = new RandomExamBLL();
                RailExam.Model.RandomExam random = objBll.GetExam(int.Parse(strId));

                if (random.RandomExamModularTypeID > 1)
                {
                    OracleAccess db     = new OracleAccess();
                    string       strSql = "select * from Random_Exam_Modular_Type where Random_Exam_Modular_Type_ID=" +
                                          random.RandomExamModularTypeID;
                    DataRow dr = db.RunSqlDataSet(strSql).Tables[0].Rows[0];

                    strSql = "select * from Random_Exam_Modular_Type where Level_Num=" + (Convert.ToInt32(dr["Level_NUM"]) - 1);
                    DataRow drPre = db.RunSqlDataSet(strSql).Tables[0].Rows[0];

                    strSql = " select a.* "
                             + "from Random_Exam_Result a "
                             + " inner join Random_Exam b on a.Random_Exam_ID=b.Random_Exam_ID "
                             + " left join Random_Exam_Modular_Type c on b.Random_Exam_Modular_Type_ID=c.Random_Exam_Modular_Type_ID "
                             + " where c.Level_Num=" + (Convert.ToInt32(dr["Level_NUM"]) - 1);
                    DataSet ds = db.RunSqlDataSet(strSql);

                    strSql = "select * from Employee where Employee_ID in (" + strEndId + ")";
                    DataSet dsEmp = db.RunSqlDataSet(strSql);

                    string[] str = strEndId.Split(',');

                    string strErrorMessage = string.Empty;
                    for (int i = 0; i < str.Length; i++)
                    {
                        DataRow[] drs = ds.Tables[0].Select("EXAMINEE_ID=" + str[i]);

                        if (drs.Length == 0)
                        {
                            DataRow[] drsEmp = dsEmp.Tables[0].Select("Employee_ID=" + str[i]);

                            strErrorMessage = "所选考生【" + drsEmp[0]["Employee_Name"] + "】未能通过【" +
                                              drPre["Random_Exam_Modular_Type_Name"] + "】考试,不能参加【" +
                                              dr["Random_Exam_Modular_Type_Name"] + "】考试!";
                            break;
                        }
                    }

                    if (!string.IsNullOrEmpty(strErrorMessage))
                    {
                        SessionSet.PageMessage = strErrorMessage;
                        return;
                    }
                }
            }

            if (ViewState["UpdateMode"] != null && ViewState["UpdateMode"].ToString() == "0")
            {
                RandomExamArrangeBLL      examArrangeBLL = new RandomExamArrangeBLL();
                IList <RandomExamArrange> objList        = examArrangeBLL.GetRandomExamArranges(int.Parse(strId));

                if (objList.Count == 0)
                {
                    RandomExamArrange examArrange = new RandomExamArrange();
                    examArrange.RandomExamId = int.Parse(strId);
                    examArrange.UserIds      = strEndId;
                    examArrange.Memo         = "";
                    if (!string.IsNullOrEmpty(Request.QueryString.Get("selectType")) && !PrjPub.IsServerCenter)
                    {
                        examArrangeBLL.AddRandomExamArrangeToServer(examArrange);
                    }
                    else
                    {
                        examArrangeBLL.AddRandomExamArrange(examArrange);
                    }
                    ViewState["UpdateMode"] = 1;

                    if (!string.IsNullOrEmpty(Request.QueryString.Get("selectType")))
                    {
                        Response.Write("<script>alert('添加成功!');window.opener.form1.Refresh.value='true';window.opener.form1.submit();window.close();</script>");
                    }
                    else
                    {
                        string       strSql = "";
                        OracleAccess db     = new OracleAccess();
                        strSql = "update Random_Exam set Is_All_Arrange = 0 where Random_Exam_ID=" + strId;
                        db.ExecuteNonQuery(strSql);

                        SessionSet.PageMessage = "添加成功!";
                        return;
                    }
                }
                else
                {
                    ViewState["UpdateMode"] = "1";
                }
            }

            if (ViewState["UpdateMode"] != null && ViewState["UpdateMode"].ToString() == "1")
            {
                RandomExamArrangeBLL      examArrangeBLL = new RandomExamArrangeBLL();
                IList <RandomExamArrange> objList        = examArrangeBLL.GetRandomExamArranges(int.Parse(strId));

                string strNew = objList[0].UserIds;

                string[] str = strEndId.Split(',');

                for (int i = 0; i < str.Length; i++)
                {
                    if (("," + strNew + ",").IndexOf("," + str[i] + ",") < 0)
                    {
                        strNew += strNew == string.Empty ? str[i] : "," + str[i];
                    }
                }

                if (!string.IsNullOrEmpty(Request.QueryString.Get("selectType")))
                {
                    //examArrangeBLL.UpdateRandomExamArrangeToServer(int.Parse(strId), strAdd);
                    string strAddIds = string.Empty;

                    for (int i = 0; i < str.Length; i++)
                    {
                        if (("," + objList[0].UserIds + ",").IndexOf("," + str[i] + ",") < 0)
                        {
                            strAddIds += strAddIds == string.Empty ? str[i] : "," + str[i];
                        }
                    }

                    OracleAccess db = new OracleAccess();

                    OracleAccess dbCenter = new OracleAccess(System.Configuration.ConfigurationManager.ConnectionStrings["OracleCenter"].ConnectionString);
                    XmlDocument  doc      = new XmlDocument();
                    //Request.PhysicalApplicationPath取得config文件路径
                    doc.Load(Path.Combine(HttpContext.Current.Request.PhysicalApplicationPath, "web.config"));
                    XmlNode node  = doc.SelectSingleNode("configuration/dataConfiguration/@defaultDatabase");
                    string  value = node.Value;
                    if (value == "Oracle")
                    {
                        OracleParameter para1 = new OracleParameter("p_User_Ids", OracleType.Clob);
                        OracleParameter para2 = new OracleParameter("p_random_Exam_ID", OracleType.Number);
                        para2.Value = int.Parse(strId);
                        IDataParameter[] paras = new IDataParameter[] { para1, para2 };
                        examArrangeBLL.RunUpdateProcedure(true, "USP_random_Exam_Arrange_U", paras, System.Text.Encoding.Unicode.GetBytes(strEndId));
                    }

                    string strSql = "select a.* from Random_Exam_Arrange_Detail a "
                                    + " inner join Computer_Room b on a.Computer_Room_ID=b.Computer_Room_ID"
                                    + " inner join Computer_Server c on c.Computer_server_ID=b.Computer_Server_ID"
                                    + " where c.Computer_Server_No='" + PrjPub.ServerNo + "' "
                                    + " and Random_Exam_ID=" + strId;
                    DataSet ds = db.RunSqlDataSet(strSql);

                    strSql = "update Random_Exam_Arrange_Detail "
                             + "set User_ids = User_ids || '," + strAddIds + "' "
                             + "where   Random_Exam_Arrange_Detail_ID =" + ds.Tables[0].Rows[0]["Random_Exam_Arrange_Detail_ID"];
                    dbCenter.ExecuteNonQuery(strSql);

                    if (!PrjPub.IsServerCenter)
                    {
                        examArrangeBLL.RefreshRandomExamArrange();
                    }
                }
                else
                {
                    examArrangeBLL.UpdateRandomExamArrange(int.Parse(strId), strNew);
                }

                if (!string.IsNullOrEmpty(Request.QueryString.Get("selectType")))
                {
                    //SessionSet.PageMessage = "添加成功!";
                    Response.Write("<script>alert('添加成功!');window.opener.form1.Refresh.value='true';window.opener.form1.submit();window.close();</script>");
                }
                else
                {
                    string       strSql = "";
                    OracleAccess db     = new OracleAccess();
                    strSql = "update Random_Exam set Is_All_Arrange = 0 where Random_Exam_ID=" + strId;
                    db.ExecuteNonQuery(strSql);

                    SessionSet.PageMessage = "添加成功!";
                    return;
                }
            }
        }
Example #53
0
    DataParameterBase IProvider.GetDataParameter(IDataParameter parameter)
    {
        var sqlParameter = (SqlParameter)parameter;

        return(new SqlDataParameter(sqlParameter));
    }
Example #54
0
        public static bool Add(Project project, ref string msg)
        {
            bool ret = false;

            if (Find(project.Pn).Count > 0)
            {
                msg = "相同料号已经存在";
                return(false);
            }

            string insertSql = "INSERT INTO HPMS_Project (" +
                               "PN, PNCustomer, Length, AWG, Diff, " +
                               "Single, Tdr, DiffPair, NextPair, FextPair, " +
                               "ReportTempletePath, RomFileMode, RomFilePath, RomWrite, SwitchFilePath, " +
                               "FreSpec, FrePoints, Tdd11, Tdd22, ILD, " +
                               "Skew, Customer,FreSpecFilePath, Speed, ProductTypeL, " +
                               "ProductTypeR, Power, Description,CalFilePath,Keypoint,Srevert,Trevert,Report) VALUES (" +
                               "@pn,@pncustomer,@length,@awg,@diff," +
                               "@single,@tdr,@diffpair,@nextpair,@fextpair," +
                               "@reporttempletepath,@romfilemode,@romfilepath,@romwrite,@switchfilepath," +
                               "@frespec,@frepoints,@tdd11,@tdd22,@ild," +
                               "@skew,@customer,@frespecfilepath,@speed,@producttypel," +
                               "@producttyper,@power,@description,@calfilepath,@keypoint,@srevert,@trevert,@report) ";

            IDataParameter[] b = new IDataParameter[33];

            b[0] = Gloabal.GDatabase.CreatePara("pn", project.Pn);
            b[1] = Gloabal.GDatabase.CreatePara("pncustomer", project.PnCustomer);
            b[2] = Gloabal.GDatabase.CreatePara("length", project.Length);
            b[3] = Gloabal.GDatabase.CreatePara("awg", project.Awg);
            b[4] = Gloabal.GDatabase.CreatePara("diff", Convert.List2Str(project.Diff));

            b[5] = Gloabal.GDatabase.CreatePara("single", Convert.List2Str(project.Single));
            b[6] = Gloabal.GDatabase.CreatePara("tdr", Convert.List2Str(project.Tdr));
            b[7] = Gloabal.GDatabase.CreatePara("diffpair", Convert.List2Str(project.DiffPair));
            b[8] = Gloabal.GDatabase.CreatePara("nextpair", Convert.List2Str(project.NextPair));
            b[9] = Gloabal.GDatabase.CreatePara("fextpair", Convert.List2Str(project.FextPair));

            b[10] = Gloabal.GDatabase.CreatePara("reporttempletepath", project.ReportTempletePath);
            b[11] = Gloabal.GDatabase.CreatePara("romfilemode", project.RomFileMode.ToString());
            b[12] = Gloabal.GDatabase.CreatePara("romfilepath", project.RomFilePath);
            b[13] = Gloabal.GDatabase.CreatePara("romwrite", project.RomWrite);
            b[14] = Gloabal.GDatabase.CreatePara("switchfilepath", project.SwitchFilePath);

            b[15] = Gloabal.GDatabase.CreatePara("frespec", project.FreSpec);
            b[16] = Gloabal.GDatabase.CreatePara("frepoints", project.FrePoints);
            b[17] = Gloabal.GDatabase.CreatePara("tdd11", Serializer.Object2Json(project.Tdd11));
            b[18] = Gloabal.GDatabase.CreatePara("tdd22", Serializer.Object2Json(project.Tdd22));
            b[19] = Gloabal.GDatabase.CreatePara("ild", project.Ild.ToString());

            b[20] = Gloabal.GDatabase.CreatePara("skew", project.Skew);
            b[21] = Gloabal.GDatabase.CreatePara("customer", project.Customer);
            b[22] = Gloabal.GDatabase.CreatePara("frespecfilepath", project.FreSpecFilePath);
            b[23] = Gloabal.GDatabase.CreatePara("speed", project.Speed);
            b[24] = Gloabal.GDatabase.CreatePara("producttypel", project.ProductTypeL);


            b[25] = Gloabal.GDatabase.CreatePara("producttyper", project.ProductTypeR);
            b[26] = Gloabal.GDatabase.CreatePara("power", project.Power);
            b[27] = Gloabal.GDatabase.CreatePara("description", project.Description);
            b[28] = Gloabal.GDatabase.CreatePara("calfilepath", project.CalFilePath);
            b[29] = Gloabal.GDatabase.CreatePara("keypoint", project.KeyPoint);
            b[30] = Gloabal.GDatabase.CreatePara("srevert", project.Srevert);
            b[31] = Gloabal.GDatabase.CreatePara("trevert", project.Trevert);
            b[32] = Gloabal.GDatabase.CreatePara("report", project.Report);



            int insertCount = Gloabal.GDatabase.ExecuteSql(insertSql, b);

            if (insertCount == 1)
            {
                ret = true;
            }
            else
            {
                msg = "添加新料号失败";
            }


            return(ret);
        }
Example #55
0
 /// <summary>
 /// Default Constructor
 /// </summary>
 /// <param name="dataParameter"></param>
 public ParameterSetterImpl(IDataParameter dataParameter)
 {
     _dataParameter = dataParameter;
 }
Example #56
0
        protected virtual int Update(DataRow [] dataRows, DataTableMapping tableMapping)
        {
            int updateCount = 0;

            foreach (DataRow row in dataRows)
            {
                StatementType statementType = StatementType.Update;
                IDbCommand    command       = null;
                string        commandName   = String.Empty;

                switch (row.RowState)
                {
                case DataRowState.Added:
                    statementType = StatementType.Insert;
                    command       = ((IDbDataAdapter)this).InsertCommand;
                    commandName   = "Insert";
                    break;

                case DataRowState.Deleted:
                    statementType = StatementType.Delete;
                    command       = ((IDbDataAdapter)this).DeleteCommand;
                    commandName   = "Delete";
                    break;

                case DataRowState.Modified:
                    statementType = StatementType.Update;
                    command       = ((IDbDataAdapter)this).UpdateCommand;
                    commandName   = "Update";
                    break;

                case DataRowState.Unchanged:
                case DataRowState.Detached:
                    continue;
                }

                RowUpdatingEventArgs argsUpdating = CreateRowUpdatingEvent(row, command, statementType, tableMapping);
                row.RowError = null;
                OnRowUpdating(argsUpdating);
                switch (argsUpdating.Status)
                {
                case UpdateStatus.Continue:
                    //continue in update operation
                    break;

                case UpdateStatus.ErrorsOccurred:
                    if (argsUpdating.Errors == null)
                    {
                        argsUpdating.Errors = ExceptionHelper.RowUpdatedError();
                    }
                    row.RowError += argsUpdating.Errors.Message;
                    if (!ContinueUpdateOnError)
                    {
                        throw argsUpdating.Errors;
                    }
                    continue;

                case UpdateStatus.SkipAllRemainingRows:
                    return(updateCount);

                case UpdateStatus.SkipCurrentRow:
                    updateCount++;
                    continue;

                default:
                    throw ExceptionHelper.InvalidUpdateStatus(argsUpdating.Status);
                }
                command = argsUpdating.Command;
                try {
                    if (command != null)
                    {
                        DataColumnMappingCollection columnMappings = tableMapping.ColumnMappings;
#if ONLY_1_1
                        IDataParameter nullCheckParam = null;
#endif
                        foreach (IDataParameter parameter in command.Parameters)
                        {
                            if ((parameter.Direction & ParameterDirection.Input) == 0)
                            {
                                continue;
                            }

                            DataRowVersion rowVersion = parameter.SourceVersion;
                            // Parameter version is ignored for non-update commands
                            if (statementType == StatementType.Delete)
                            {
                                rowVersion = DataRowVersion.Original;
                            }

                            string dsColumnName = parameter.SourceColumn;
#if NET_2_0
                            if (columnMappings.Contains(dsColumnName))
                            {
                                dsColumnName    = columnMappings [dsColumnName].DataSetColumn;
                                parameter.Value = row [dsColumnName, rowVersion];
                            }
                            else
                            {
                                parameter.Value = null;
                            }

                            DbParameter nullCheckParam = parameter as DbParameter;
#else
                            if (columnMappings.Contains(dsColumnName))
                            {
                                dsColumnName = columnMappings [dsColumnName].DataSetColumn;
                            }
                            if (dsColumnName == null || dsColumnName.Length == 0)
                            {
                                nullCheckParam = parameter;
                                continue;
                            }
                            parameter.Value = row [dsColumnName, rowVersion];
#endif

#if NET_2_0
                            if (nullCheckParam != null && nullCheckParam.SourceColumnNullMapping)
                            {
#else
                            if (nullCheckParam != null)
                            {
#endif
                                if (parameter.Value != null && parameter.Value != DBNull.Value)
                                {
                                    nullCheckParam.Value = 0;
                                }
                                else
                                {
                                    nullCheckParam.Value = 1;
                                }
                                nullCheckParam = null;
                            }
                        }
                    }
                } catch (Exception e) {
                    argsUpdating.Errors = e;
                    argsUpdating.Status = UpdateStatus.ErrorsOccurred;
                }

                IDataReader reader = null;
                try {
                    if (command == null)
                    {
                        throw ExceptionHelper.UpdateRequiresCommand(commandName);
                    }

                    CommandBehavior commandBehavior = CommandBehavior.Default;
                    if (command.Connection.State == ConnectionState.Closed)
                    {
                        command.Connection.Open();
                        commandBehavior |= CommandBehavior.CloseConnection;
                    }

                    // use ExecuteReader because we want to use the commandbehavior parameter.
                    // so the connection will be closed if needed.
                    reader = command.ExecuteReader(commandBehavior);

                    // update the current row, if the update command returns any resultset
                    // ignore other than the first record.
                    DataColumnMappingCollection columnMappings = tableMapping.ColumnMappings;

                    if (command.UpdatedRowSource == UpdateRowSource.Both ||
                        command.UpdatedRowSource == UpdateRowSource.FirstReturnedRecord)
                    {
                        if (reader.Read())
                        {
                            DataTable retSchema = reader.GetSchemaTable();
                            foreach (DataRow dr in retSchema.Rows)
                            {
                                string columnName    = dr ["ColumnName"].ToString();
                                string dstColumnName = columnName;
                                if (columnMappings != null &&
                                    columnMappings.Contains(columnName))
                                {
                                    dstColumnName = columnMappings [dstColumnName].DataSetColumn;
                                }
                                DataColumn dstColumn = row.Table.Columns [dstColumnName];
                                if (dstColumn == null ||
                                    (dstColumn.Expression != null &&
                                     dstColumn.Expression.Length > 0))
                                {
                                    continue;
                                }
                                // info from : http://www.error-bank.com/microsoft.public.dotnet.framework.windowsforms.databinding/
                                // [email protected]_Thread.aspx
                                // disable readonly for non-expression columns.
                                bool readOnlyState = dstColumn.ReadOnly;
                                dstColumn.ReadOnly = false;
                                try {
                                    row [dstColumnName] = reader [columnName];
                                } finally {
                                    dstColumn.ReadOnly = readOnlyState;
                                }
                            }
                        }
                    }
                    reader.Close();

                    int tmp = reader.RecordsAffected;                     // records affected is valid only after closing reader
                    // if the execute does not effect any rows we throw an exception.
                    if (tmp == 0)
                    {
                        throw new DBConcurrencyException("Concurrency violation: the " +
                                                         commandName + "Command affected 0 records.", null,
                                                         new DataRow [] { row });
                    }
                    updateCount += tmp;

                    if (command.UpdatedRowSource == UpdateRowSource.Both ||
                        command.UpdatedRowSource == UpdateRowSource.OutputParameters)
                    {
                        // Update output parameters to row values
                        foreach (IDataParameter parameter in command.Parameters)
                        {
                            if (parameter.Direction != ParameterDirection.InputOutput &&
                                parameter.Direction != ParameterDirection.Output &&
                                parameter.Direction != ParameterDirection.ReturnValue)
                            {
                                continue;
                            }

                            string dsColumnName = parameter.SourceColumn;
                            if (columnMappings != null &&
                                columnMappings.Contains(parameter.SourceColumn))
                            {
                                dsColumnName = columnMappings [parameter.SourceColumn].DataSetColumn;
                            }
                            DataColumn dstColumn = row.Table.Columns [dsColumnName];
                            if (dstColumn == null ||
                                (dstColumn.Expression != null &&
                                 dstColumn.Expression.Length > 0))
                            {
                                continue;
                            }
                            bool readOnlyState = dstColumn.ReadOnly;
                            dstColumn.ReadOnly = false;
                            try {
                                row [dsColumnName] = parameter.Value;
                            } finally {
                                dstColumn.ReadOnly = readOnlyState;
                            }
                        }
                    }

                    RowUpdatedEventArgs updatedArgs = CreateRowUpdatedEvent(row, command, statementType, tableMapping);
                    OnRowUpdated(updatedArgs);
                    switch (updatedArgs.Status)
                    {
                    case UpdateStatus.Continue:
                        break;

                    case UpdateStatus.ErrorsOccurred:
                        if (updatedArgs.Errors == null)
                        {
                            updatedArgs.Errors = ExceptionHelper.RowUpdatedError();
                        }
                        row.RowError += updatedArgs.Errors.Message;
                        if (!ContinueUpdateOnError)
                        {
                            throw updatedArgs.Errors;
                        }
                        break;

                    case UpdateStatus.SkipCurrentRow:
                        continue;

                    case UpdateStatus.SkipAllRemainingRows:
                        return(updateCount);
                    }
#if NET_2_0
                    if (!AcceptChangesDuringUpdate)
                    {
                        continue;
                    }
#endif
                    row.AcceptChanges();
                } catch (Exception e) {
                    row.RowError = e.Message;
                    if (!ContinueUpdateOnError)
                    {
                        throw e;
                    }
                } finally {
                    if (reader != null && !reader.IsClosed)
                    {
                        reader.Close();
                    }
                }
            }
            return(updateCount);
        }
Example #57
0
        private CommandStruct GenerateCommand <T>(DbBaseProvider dbProvider, T data, SchemaTable schemaTable, EntityPropertyGetFunc <T> getFunc, EnttiyPostColumnFunc <T> postColumnFunc) where T : ISqlEntity
        {
            CommandStruct command;

            if (!(schemaTable.StorageType.HasFlag(StorageType.ReadOnlyDB) ||
                  schemaTable.StorageType.HasFlag(StorageType.ReadWriteDB) ||
                  schemaTable.StorageType.HasFlag(StorageType.WriteOnlyDB)) ||
                (string.IsNullOrEmpty(schemaTable.ConnectKey) &&
                 string.IsNullOrEmpty(schemaTable.ConnectionString)))
            {
                return(null);
            }
            if (getFunc == null)
            {
                getFunc = GetPropertyValue;
            }

            IList <string> columns = postColumnFunc != null
                ? postColumnFunc(data, schemaTable, _isChange)
                : schemaTable.GetColumnNames();

            if (columns == null || columns.Count == 0)
            {
                TraceLog.WriteError("Class:{0} is not change column.", data.GetType().FullName);
                return(null);
            }
            string tableName = schemaTable.GetTableName(data.GetCreateTime());

            if (data.IsDelete)
            {
                command = dbProvider.CreateCommandStruct(tableName, CommandMode.Delete);
            }
            else if (schemaTable.AccessLevel == AccessLevel.WriteOnly)
            {
                command = dbProvider.CreateCommandStruct(tableName, CommandMode.Insert);
            }
            else
            {
                command = dbProvider.CreateCommandStruct(tableName, CommandMode.ModifyInsert);
            }
            //StringBuilder changeLog = new StringBuilder();
            //changeLog.AppendFormat("\"Keys\":\"{0}\"", data.GetKeyCode());
            //处理列
            foreach (string columnName in columns)
            {
                if (columnName.IsEmpty())
                {
                    continue;
                }
                try
                {
                    SchemaColumn schemaColumn;
                    if (schemaTable.Columns.TryGetValue(columnName, out schemaColumn))
                    {
                        if (schemaColumn.Disable || schemaColumn.IsIdentity)
                        {
                            continue;
                        }
                        object         value     = getFunc(data, schemaColumn);
                        IDataParameter parameter = CreateParameter(dbProvider, columnName, schemaColumn.DbType, value);
                        command.AddParameter(parameter);
                    }
                }
                catch (Exception ex)
                {
                    throw new Exception(string.Format("get {0} column val error.", columnName), ex);
                }
            }
            //处理条件
            string[] keyList = schemaTable.Keys;
            if (keyList.Length == 0)
            {
                throw new ArgumentNullException(string.Format("Table:{0} key is empty.", schemaTable.EntityName));
            }
            string condition = string.Empty;

            command.Filter = dbProvider.CreateCommandFilter();
            foreach (string columnName in keyList)
            {
                try
                {
                    SchemaColumn schemaColumn;
                    if (schemaTable.Columns.TryGetValue(columnName, out schemaColumn))
                    {
                        string keyName   = columnName;
                        string paramName = "F_" + columnName;
                        if (condition.Length > 0)
                        {
                            condition += " AND ";
                        }
                        condition += dbProvider.FormatFilterParam(schemaColumn.Name, "", paramName);
                        object         value     = getFunc(data, schemaColumn);
                        IDataParameter parameter = CreateParameter(dbProvider, paramName, schemaColumn.DbType, value);
                        command.Filter.AddParam(parameter);
                        //主键且自增列更新时,MSSQL与MySql处理不同,MySql需要有主键列
                        command.AddKey(CreateParameter(dbProvider, keyName, schemaColumn.DbType, value), schemaColumn.IsIdentity);
                    }
                }
                catch (Exception ex)
                {
                    throw new Exception(string.Format("get {0} column val error.", columnName), ex);
                }
            }
            command.Filter.Condition = condition;
            command.Parser();
            return(command);
        }
Example #58
0
        /// <summary>
        /// add  parameter without datatype
        /// </summary>
        /// <param name="name"></param>
        /// <param name="value"></param>
        /// <param name="direction"></param>
        /// <param name="size"></param>
        public void AddParameter(string name, object value, ParameterDirection direction = ParameterDirection.Input, int size = 0)
        {
            IDataParameter dataparameter = CreateParameter(name, value, direction, size);

            parameterList.Add(dataparameter);
        }
Example #59
0
            public void NullSafeSet(IDbCommand cmd, object value, int index)
            {
                IDataParameter parameter = (IDataParameter)cmd.Parameters[index];

                parameter.Value = value;
            }
Example #60
0
        /// <summary>
        /// Update the existing flight details for a given flight id for the database
        /// </summary>
        /// <parameter name="_flight"></parameter>
        /// <returns>Returns the status of the update</returns>
        public bool UpdateFlight(Flight _flight)
        {
            IDbConnection conn1     = null;
            IDbConnection conn2     = null;
            bool          isUpdated = false;

            try
            {
                conn1 = this.GetConnection();
                conn1.Open();

                IDbCommand cmd = conn1.CreateCommand();
                cmd.CommandText = "select count(*) from flights where FlightName = '" + _flight.Name + "' and AirlineId = " + _flight.AirlineForFlight.Id;
                cmd.CommandType = CommandType.Text;

                conn2 = this.GetConnection();
                IDbCommand cmd2 = conn2.CreateCommand();
                cmd2.CommandText = "UpdateFlight";
                cmd2.CommandType = CommandType.StoredProcedure;

                IDataParameter p1 = cmd2.CreateParameter();
                p1.ParameterName = "@flightid";
                p1.Value         = _flight.ID;
                cmd2.Parameters.Add(p1);

                IDataParameter p2 = cmd2.CreateParameter();
                p2.ParameterName = "@flightname";
                p2.Value         = _flight.Name;
                cmd2.Parameters.Add(p2);

                IDataParameter p3 = cmd2.CreateParameter();
                p3.ParameterName = "@airline";
                cmd2.Parameters.Add(p3);

                using (IDataReader reader = cmd.ExecuteReader())
                {
                    while (reader.Read())
                    {
                        if (int.Parse(reader[0].ToString()) > 0)
                        {
                            isUpdated = false;
                        }
                        else
                        {
                            cmd2.ExecuteNonQuery();
                            isUpdated = true;
                        }
                    }
                }
            }
            catch (Common.ConnectToDatabaseException)
            {
                throw new FlightDAOException("Unable to update flight");
            }
            catch (Exception)
            {
                throw new FlightDAOException("Unable to update flight");
            }
            finally
            {
                if (conn1 != null && conn1.State == ConnectionState.Open)
                {
                    conn1.Close();
                }

                if (conn2 != null && conn2.State == ConnectionState.Open)
                {
                    conn2.Close();
                }
            }

            return(isUpdated);
        }