private void button8_Click(object sender, EventArgs e) { string name = "@Name"; string name2 = "@Name"; using (MB.Util.MethodTraceWithTime trace = new MB.Util.MethodTraceWithTime("")) { Microsoft.Practices.EnterpriseLibrary.Data.Database db = MB.Orm.Persistence.DatabaseHelper.CreateDatabase(); if (db is Microsoft.Practices.EnterpriseLibrary.Data.Oracle.OracleDatabase) { name = ":" + name.Substring(1, name.Length - 1); } double d1 = trace.GetExecutedTimes(); } using (MB.Util.MethodTraceWithTime trace = new MB.Util.MethodTraceWithTime("")) { using (MB.Orm.Persistence.DatabaseConfigurationScope scop = new MB.Orm.Persistence.DatabaseConfigurationScope("SQL SERVER")) { Microsoft.Practices.EnterpriseLibrary.Data.Database db2 = MB.Orm.Persistence.DatabaseHelper.CreateDatabase(); if (db2 is Microsoft.Practices.EnterpriseLibrary.Data.Oracle.OracleDatabase) { name = ":" + name.Substring(1, name.Length - 1); } else if (db2 is Microsoft.Practices.EnterpriseLibrary.Data.Sql.SqlDatabase) { name = "@" + name.Substring(1, name.Length - 1); } else { } } double d2 = trace.GetExecutedTimes(); } }
private void button2_Click(object sender, EventArgs e) { int count = int.Parse(textBox1.Text); using (MB.Orm.Persistence.DatabaseConfigurationScope scope = new MB.Orm.Persistence.DatabaseConfigurationScope("SQL SERVER")) { using (MB.Util.MethodTraceWithTime t = new MB.Util.MethodTraceWithTime("BLUCK", count)) { IList lstData = null; if (chkDataTable.Checked) { DataTable dt = getDataTable(count, 1); lstData = dt.Select(); } else { lstData = getListData(count, 1); } using (MB.RuleBase.BulkCopy.IDbBulkExecute bulk = MB.RuleBase.BulkCopy.DbBulkExecuteFactory.CreateDbBulkExecute()) { bulk.WriteToServer("MbfsFucDtl", "AddObject", lstData); } MessageBox.Show(string.Format("总共执行的时间有{0} 毫秒", t.GetExecutedTimes())); } } }
private void button6_Click(object sender, EventArgs e) { using (MB.Util.MethodTraceWithTime trace = new MB.Util.MethodTraceWithTime("PPP")) { testHViewDataConvert frm = new testHViewDataConvert(); frm.ShowDialog(); } }
/// <summary> /// 把数据绑定到XtraGrid 控件中。 /// </summary> /// <param name="xtraGrid"></param> /// <param name="dataSource"></param> /// <param name="colPropertys"></param> /// <param name="imageDockRow"></param> /// <param name="editCols"></param> /// <returns></returns> public bool BindingToXtraGrid(DevExpress.XtraGrid.GridControl xtraGrid, object dataSource, Dictionary <string, MB.WinBase.Common.ColumnPropertyInfo> colPropertys, Dictionary <string, MB.WinBase.Common.ColumnEditCfgInfo> editCols, string xmlFileName, bool imageDockRow) { using (MB.Util.MethodTraceWithTime trace = new MB.Util.MethodTraceWithTime("MB.XWinLib.XtraGrid.XtraGridHelper.BindingToXtraGrid", xmlFileName)) { try { MB.WinBase.Common.GridViewLayoutInfo gridViewLayoutInfo = null; #region 根据GridViewLayoutInfo的配置来决定GridView的类型,甚至动态创建GridView if (!string.IsNullOrEmpty(xmlFileName)) { gridViewLayoutInfo = MB.WinBase.LayoutXmlConfigHelper.Instance.GetGridColumnLayoutInfo(xmlFileName, GRID_VIEW_LAYOUT_NAME); //首先看是否配置为DefaultGridView,如果是,则不做任何事情 if (gridViewLayoutInfo == null || gridViewLayoutInfo.GridLayoutColumns == null) { //如果没有配置DefaultGridView,则看是否有配置其他的GridView gridViewLayoutInfo = MB.WinBase.LayoutXmlConfigHelper.Instance.GetGridColumnLayoutInfo(xmlFileName, string.Empty); if (gridViewLayoutInfo != null && gridViewLayoutInfo.GridLayoutColumns != null) { if (gridViewLayoutInfo.GridViewType == WinBase.Common.GridViewType.AdvBandedGridView) { //动态创建AdvBandedGridView DevExpress.XtraGrid.Views.BandedGrid.AdvBandedGridView advBandedView = new DevExpress.XtraGrid.Views.BandedGrid.AdvBandedGridView(xtraGrid); xtraGrid.MainView = advBandedView; } } } } #endregion string viewTypeName = xtraGrid.MainView.GetType().Name; if (viewTypeName == "GridView") { return(createGridView(xtraGrid, dataSource, colPropertys, imageDockRow, editCols, gridViewLayoutInfo)); } else { XtraGridEditHelper.Instance.CreateEditBandXtraGrid(new GridDataBindingParam(xtraGrid, dataSource), colPropertys, editCols, gridViewLayoutInfo); return(true); } } catch (Exception ex) { throw MB.Util.APPExceptionHandlerHelper.PromoteException(ex, string.Format("通过XML文件{0}绑定XtraGrid 出错", xmlFileName)); } } }
private void button6_Click(object sender, EventArgs e) { int count = int.Parse(textBox1.Text); List <MY_TABLE_MAINInfo> myEntitys = new List <MY_TABLE_MAINInfo>(); int beginID = 1; for (int i = 0; i < 1000; i++) { myEntitys.Add(new MY_TABLE_MAINInfo() { ID = beginID++, NAME = "CCCC", CODE = "BB", ADDRESS = "PPP" }); } using (MB.Orm.Persistence.DatabaseConfigurationScope scope = new MB.Orm.Persistence.DatabaseConfigurationScope("MB.MBFS")) { Database db = MB.Orm.Persistence.DatabaseHelper.CreateDatabase(); using (MB.Util.MethodTraceWithTime t = new MB.Util.MethodTraceWithTime("BLUCK", count)) { //using (SqlConnection cn = new SqlConnection(db.ConnectionString)) { // cn.Open(); // using (SqlTransaction tran = cn.BeginTransaction()) { // try { using (TransactionScope scopeTran = new TransactionScope()) { using (MB.RuleBase.BulkCopy.IDbBulkExecute bulk = MB.RuleBase.BulkCopy.DbBulkExecuteFactory.CreateDbBulkExecute()) { bulk.WriteToServer("MY_TABLE_MAIN", "UpdateObject", myEntitys); } // string data = MB.RuleBase.Common.DatabaseExcuteByXmlHelper.NewInstance.ExecuteScalar<string>("MY_TABLE_MAIN", "SelectObject", 10); scopeTran.Complete(); // throw new Exception("ERROR"); } // tran.Commit(); // // throw new Exception(); // } // catch { // tran.Rollback(); // } //} MessageBox.Show(string.Format("总共执行的时间有{0} 毫秒", t.GetExecutedTimes())); } } }
/// <summary> /// 动态列绑定处理相关。 /// </summary> /// <param name="dataSource"></param> /// <param name="gridControl"></param> /// <param name="xmlFileName"></param> public void CreateDataBinding(MB.WinBase.Data.HViewDataConvert <T> convertObject, List <T> lstEntitys, string gridLayoutCfgName) { using (MB.Util.MethodTraceWithTime trace = new MB.Util.MethodTraceWithTime("MB.WinClientDefault.Common.UIDynamicColumnBinding<" + typeof(T).FullName + ">.CreateDataBinding")) { _HViewConvertObject = convertObject; _CurrentEditEntitys = lstEntitys; var gridViewLayoutInfo = MB.WinBase.LayoutXmlConfigHelper.Instance.GetGridColumnLayoutInfo(_CurrentXmlFileName, gridLayoutCfgName); MB.XWinLib.XtraGrid.DynamicColumnBandGridHelper <T> dynamicBandHelper = new MB.XWinLib.XtraGrid.DynamicColumnBandGridHelper <T>(); _CurrentEditTable = convertObject.Convert(lstEntitys, _ColPropertys); onAfterDataConvert(); if (convertObject.ConvertCfgParam.DynamicColumnCaption) { gridViewLayoutInfo = dynamicBandHelper.ResetDynamicCaptionColumnViewLayout(convertObject, gridViewLayoutInfo); } else { gridViewLayoutInfo = dynamicBandHelper.ResetDynamicColumnViewLayout(convertObject, gridViewLayoutInfo); } var detailBindingParams = new MB.XWinLib.GridDataBindingParam(_XtraGrid, _CurrentEditTable, false); MB.XWinLib.XtraGrid.XtraGridEditHelper.Instance.CreateEditXtraGrid(detailBindingParams, _ColPropertys, _EditCols, gridViewLayoutInfo); //if (convertObject.ConvertCfgParam.DynamicColumnCaption) { iniDynamicBandColumns(); // } MB.XWinLib.XtraGrid.XtraGridViewHelper.Instance.SetGridViewNewItem(_XtraGrid, false); _XtraGrid.ReSetContextMenu(XtraContextMenuType.QuickInput | XtraContextMenuType.Export | XtraContextMenuType.SaveGridState); setDynamicColumnOnFocusedRowChanged(_AdvBandGridView.FocusedRowHandle); } }
private void button4_Click(object sender, EventArgs e) { int count = int.Parse(textBox1.Text); using (MB.Orm.Persistence.DatabaseConfigurationScope scope = new MB.Orm.Persistence.DatabaseConfigurationScope("SQL SERVER")) { Database db = MB.Orm.Persistence.DatabaseHelper.CreateDatabase(); using (MB.Util.MethodTraceWithTime t = new MB.Util.MethodTraceWithTime("BLUCK", count)) { using (SqlConnection cn = new SqlConnection(db.ConnectionString)) { cn.Open(); using (SqlTransaction tran = cn.BeginTransaction()) { try { IList lstData = null; if (chkDataTable.Checked) { DataTable dt = getDataTable(count, 1); lstData = dt.Select(); } else { lstData = getListData(count, 1); } using (MB.RuleBase.BulkCopy.IDbBulkExecute bulk = MB.RuleBase.BulkCopy.DbBulkExecuteFactory.CreateDbBulkExecute(tran)) { bulk.WriteToServer("MbfsFucDtl", "AddObject", lstData); } tran.Commit(); // throw new Exception(); } catch { tran.Rollback(); } } } MessageBox.Show(string.Format("总共执行的时间有{0} 毫秒", t.GetExecutedTimes())); } } }
private void button1_Click(object sender, EventArgs e) { int count = int.Parse(textBox1.Text); using (MB.Util.MethodTraceWithTime t = new MB.Util.MethodTraceWithTime("BLUCK", count)) { int idC = MB.Orm.Persistence.EntityIdentityHelper.NewInstance.GetEntityIdentity("MBFS_FUC_DTL", count); IList lstData = null; if (chkDataTable.Checked) { DataTable dt = getDataTable(count, idC); lstData = dt.Select(); } else { lstData = getListData(count, idC); } using (MB.RuleBase.BulkCopy.IDbBulkExecute bulk = MB.RuleBase.BulkCopy.DbBulkExecuteFactory.CreateDbBulkExecute()) { bulk.WriteToServer("MbfsFucDtl", "AddObject", lstData); } MessageBox.Show(string.Format("总共执行的时间有{0} 毫秒", t.GetExecutedTimes())); } }
/// <summary> /// 异步调用服务端方法获取对应的数据。 /// </summary> /// <param name="clientProxy">clientProxy 对应的WCF 服务端业务类必须实现接口MB.RuleBase.IFace.IAsynGetEntitysInvoke</param> /// <param name="dataInDocType">获取的数据在单据中的数据类型,如果没有就输入0</param> /// <param name="paramValues">参数值,根据服务端对应方法决定(可以为空)</param> /// <param name="filterParams">动态查询参数,根据服务端对应方法决定 (可以为空)</param> /// <returns>实体集合类</returns> public IList InvokeGetObjectData(TChannel clientProxy, int dataInDocType, string[] paramValues, MB.Util.Model.QueryParameterInfo[] filterParams) { using (MB.Util.MethodTraceWithTime trace = new MB.Util.MethodTraceWithTime(string.Format("AsynGetEntitysHelper<{0}> 开始执行方法{1} ", typeof(TChannel).FullName, ASYN_INVOKE_METHOD))) { //先调用参数为 index 为 -1 进行初始化 try { string xmlFilterParams = string.Empty; if (filterParams != null && filterParams.Length > 0) { xmlFilterParams = MB.Util.Serializer.QueryParameterXmlSerializer.DefaultInstance.Serializer(filterParams); } GreatCapacityInvokeParamInfo iniParam = new GreatCapacityInvokeParamInfo(dataInDocType, xmlFilterParams); iniParam.ParamValues = paramValues; GreatCapacityResult reVal = MB.WcfServiceLocator.WcfClientHelper.Instance.InvokeServerMethod(clientProxy, ASYN_INVOKE_METHOD, iniParam) as GreatCapacityResult; if (reVal == null) { throw new MB.Util.APPException(string.Format("请WCF 客户端{0} 对应的服务业务类是否已经实现了接口{1}", clientProxy.GetType().FullName, "MB.RuleBase.IFace.IAsynGetEntitysInvoke") , MB.Util.APPMessageType.SysErrInfo); } int count = reVal.MaxSegment; IAsyncResult[] res = new IAsyncResult[count]; System.Collections.Generic.SortedList <int, IList> dataList = new SortedList <int, IList>(); for (int i = 0; i < count; i++) { GreatCapacityInvokeParamInfo bparam = new GreatCapacityInvokeParamInfo(i); object re = MB.WcfServiceLocator.WcfClientHelper.Instance.InvokeServerMethod(clientProxy, "Begin" + ASYN_INVOKE_METHOD, bparam, null, 0); res[i] = (IAsyncResult)re; } for (int i = 0; i < count; i++) { if (res[i].IsCompleted) { GreatCapacityResult reData = MB.WcfServiceLocator.WcfClientHelper.Instance.InvokeServerMethod(clientProxy, "End" + ASYN_INVOKE_METHOD, res[i]) as GreatCapacityResult; if (reData == null || reData.SegmentData == null) { throw new MB.Util.APPException("服务端业务类要根据传入参数的不同进行相应的处理,当获取数据时返回值SegmentData 为空", MB.Util.APPMessageType.SysErrInfo); } dataList.Add(i, reData.SegmentData); } else { System.Threading.Thread.Sleep(100); //通过这种变态的方式 等待直到接收到数据为止。 i--; } } ArrayList relst = new ArrayList(); foreach (var v in dataList.Values) { relst.AddRange(v); } return(relst); } catch (Exception ex) { throw ex; } } }
/// <summary> /// 根据查询条件获取数据。 /// </summary> /// <param name="dataInDocType"></param> /// <param name="filterParameters"></param> /// <returns></returns> public System.Collections.IList GetFilterObjects(int dataInDocType, List <MB.Util.Model.QueryParameterInfo> filterParameters) { if (_InvokeFilterParentFormHoster != null) { InvokeDataAssistantHosterEventArgs arg = new InvokeDataAssistantHosterEventArgs(_ClientRule, _ClumnEditCfgInfo, _CurrentEditObject, filterParameters); _InvokeFilterParentFormHoster.BeforeGetFilterData(_InvokeParentControl, arg); if (arg.Cancel) { return(null); } } try { if (_QueryObject != null) { return(_QueryObject.GetFilterObjects(filterParameters.ToArray())); } if (_InvokeDataSourceDesc == null) { IList lstDatas = null; try { using (MB.Util.MethodTraceWithTime timeTrack = new MB.Util.MethodTraceWithTime(null)) { lstDatas = _ClientRule.GetObjects((int)_ClientRule.MainDataTypeInDoc, filterParameters.ToArray()); var msg = string.Format("查询花费:{0} 毫秒,返回 {1} 记录", timeTrack.GetExecutedTimes(), lstDatas.Count); MB.WinBase.AppMessenger.DefaultMessenger.Publish(QUERY_REFRESH_MSG_ID, msg); }; } catch (Exception ex) { throw MB.Util.APPExceptionHandlerHelper.PromoteException(ex, " GetObjects 出错!"); } return(lstDatas); } string[] desc = _InvokeDataSourceDesc.Method.Split(','); ArrayList pars = new ArrayList(); if (desc.Length > 1) { string[] ss = desc[1].Split(';'); foreach (var s in ss) { //判断是否为 pars.Add(MB.WinBase.AppEnvironmentSetting.Instance.ConvertSystemParamValue(s)); } } if (filterParameters != null && filterParameters.Count > 0) { pars.Add(filterParameters.ToArray()); } else { if (_InvokeDataSourceDesc.ExistsFilterParams) { //判断调用的方法是否存在过滤的参数,如果存在需要进行特殊的处理(默认情况下存在) List <MB.Util.Model.QueryParameterInfo> filterParam = new List <MB.Util.Model.QueryParameterInfo>(); filterParam.Add(new MB.Util.Model.QueryParameterInfo("1", "1", MB.Util.DataFilterConditions.Special)); pars.Add(filterParam.ToArray()); } } //object val = MB.Util.MyReflection.Instance.InvokeMethod(_ClientRule, desc[0], pars.ToArray()); // object val = MB.Util.MyReflection.Instance.InvokeMethodByName(_ClientRule, desc[0], pars.ToArray()); object val = null; try { using (MB.Util.MethodTraceWithTime timeTrack = new MB.Util.MethodTraceWithTime(null)) { val = MB.Util.MyReflection.Instance.InvokeMethod(_ClientRule, desc[0], pars.ToArray()); var msg = string.Format("查询花费:{0} 毫秒,返回 {1} 记录", timeTrack.GetExecutedTimes(), (val as IList).Count); MB.WinBase.AppMessenger.DefaultMessenger.Publish(QUERY_REFRESH_MSG_ID, msg); }; } catch (Exception ex) { throw MB.Util.APPExceptionHandlerHelper.PromoteException(ex, desc[0] + " 出错!"); } return(val as IList); } catch (Exception ex) { throw MB.Util.APPExceptionHandlerHelper.PromoteException(ex, "调用方法 MB.WinClientDefault.QueryFilter.FrmGetObjectDataAssistant::GetFilterObjects 获取数据有误"); } return(null); }