using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Data; using CoreFS.CA06; namespace Core.StlMes.Client.Sale.DbHelp { public class DbExecute:DbBase { private OpeBase _openBase = null; private CoreFS.CA06.FrmBase fr = new FrmBase(); // 定义操作成功与否,和服务端返回信息一致 // 见core.stlmes.server.sale.dbhelp.DbManager private string SuccessResult = "SUCCESS"; private string FailResult = "FAIL"; public string GetReturnErrorInfo(CoreClientParam result) { if (result == null) return "网络异常"; if (result.ReturnCode == -1) return result.ReturnInfo + ""; return ""; } public DbExecute(OpeBase ob) { _openBase = ob; fr.ob = _openBase; } /// ///获取调用查询的参数 /// /// /// /// private CoreClientParam GetCoreClientParamForQuery(DataTable dt,object[] args) { return DbCoreClientParam.GetCoreClientParam_Query(dt, args); } /// /// 获取dml 传入参数 /// /// /// private CoreClientParam GetCoreClientParamForNoQuery( object[] args) { return DbCoreClientParam.GetCoreClientParam_NoQuery(args); } public DataSet ExecuteQuery(string sqlStr) { string errMsg = ""; return ExecuteQuery(sqlStr,out errMsg); } public DataSet ExecuteQuery(string sqlStr,out string errMsg) { DataSet ds = new DataSet(); errMsg = ""; try { DataTable dt = new DataTable(); CoreClientParam pa = fr.ExecuteQueryToDataTable(GetCoreClientParamForQuery(dt, new object[] { sqlStr }), CoreInvokeType.Internal); errMsg = GetReturnErrorInfo(pa); ds.Tables.Add(dt); } catch { } return ds; } public DataSet ExecuteQuery(string sqlStr,string daoName) { DataSet ds = new DataSet(); string errMsg = ""; try { return ExecuteQuery(sqlStr,daoName,out errMsg); } catch { } return ds; } public DataSet ExecuteQuery(string sqlStr, string daoName,out string errMsg) { DataSet ds = new DataSet(); errMsg = ""; try { DataTable dt = new DataTable(); CoreClientParam pa = fr.ExecuteQueryToDataTable(GetCoreClientParamForQuery(dt, new object[] { sqlStr, daoName }), CoreInvokeType.Internal); errMsg = GetReturnErrorInfo(pa); ds.Tables.Add(dt); } catch { } return ds; } public void ExecuteNoQuery(string sqlStr) { string msg = ""; ExecuteNoQuery(sqlStr, out msg); } public void ExecuteNoQuery(string sqlStr,out string msg) { msg = ""; try { CoreClientParam pa = fr.ExecuteNonQuery(GetCoreClientParamForNoQuery(new object[] { sqlStr }), CoreInvokeType.Internal); msg = GetReturnErrorInfo(pa); } catch { } } public void ExecuteNoQuery(string sqlStr, string daoName) { string msg = ""; try { CoreClientParam pa = fr.ExecuteNonQuery(GetCoreClientParamForNoQuery(new object[] { sqlStr, daoName }), CoreInvokeType.Internal); msg = GetReturnErrorInfo(pa); } catch { } } public void ExecuteNoQuery(string sqlStr,string daoName,out string msg) { msg = ""; try { CoreClientParam pa = fr.ExecuteNonQuery(GetCoreClientParamForNoQuery(new object[] { sqlStr, daoName }), CoreInvokeType.Internal); } catch { } } public void ExecuteNoQueryTransaction(string sqlStr, DbTransaction transaction) { if (transaction == null || transaction.ErrMsg.Length > 0) return; try { CoreClientParam pa = fr.ExecuteNonQuery(DbCoreClientParam.GetCoreClientParam_Trancation(new object[] { sqlStr ,transaction.Uuid}), CoreInvokeType.Internal); if (pa == null) transaction.ErrMsg = "异常错误"; else { transaction.ErrMsg = GetReturnErrorInfo(pa); } } catch { } } public CoreClientParam GetUuid() { CoreClientParam pa = fr.ExecuteNonQuery(DbCoreClientParam.GetCoreClientParam_BeginTransaction(new object[] { }), CoreInvokeType.Internal); return pa; } public CoreClientParam GetUuid(string daoName) { CoreClientParam pa = fr.ExecuteNonQuery(DbCoreClientParam.GetCoreClientParam_BeginTransaction(new object[] { daoName }), CoreInvokeType.Internal); return pa; } public CoreClientParam Commit(string uuid) { CoreClientParam pa = fr.ExecuteNonQuery(DbCoreClientParam.GetCoreClientParam_Commit(new object[] { uuid }), CoreInvokeType.Internal); if ( GetReturnErrorInfo(pa).Length > 0) RollBack(uuid); return pa; } public CoreClientParam RollBack(string uuid) { CoreClientParam pa = fr.ExecuteNonQuery(DbCoreClientParam.GetCoreClientParam_RollBack(new object[] { uuid }), CoreInvokeType.Internal); return pa; } } }