| | |
| | | |
| | | namespace Pub_Class |
| | | { |
| | | public class ClsSqlHelper:IDisposable |
| | | public class ClsSqlHelper : IDisposable |
| | | { |
| | | private SqlConnection MainCn;//åå»ºè¿æ¥å¯¹è±¡ |
| | | public string strCon; |
| | | SqlTransaction MainTran; |
| | | public string sServer; |
| | | public string sDataBase ; |
| | | public string sDataBase; |
| | | public string sUser; |
| | | public string sPassword; |
| | | //public string sTextBox = "HXErp_Test.ini"; |
| | | public string sTextBox = "HXErp.ini"; |
| | | //å¼å§äºå¡ |
| | | public void BeginTran() |
| | | public void BeginTran() |
| | | { |
| | | if (!this.CnOpen()) |
| | | return; |
| | | MainTran=MainCn.BeginTransaction(); |
| | | MainTran = MainCn.BeginTransaction(); |
| | | } |
| | | //ç»æäºå¡ |
| | | public void Commit() |
| | |
| | | ClsPub.AppPath = System.Environment.CurrentDirectory; |
| | | //ClsPub.AppPath = @"C:\Windows\System32"; |
| | | } |
| | | sServer = ClsIni.ReadIni("Erp", "Server", ClsPub.AppPath + @"\"+sTextBox); |
| | | sServer = ClsIni.ReadIni("Erp", "Server", ClsPub.AppPath + @"\" + sTextBox); |
| | | sDataBase = ClsIni.ReadIni("Erp", "DataBase", ClsPub.AppPath + @"\" + sTextBox); |
| | | sUser = ClsIni.ReadIni("Erp", "UserName", ClsPub.AppPath + @"\" + sTextBox); |
| | | sPassword = ClsIni.ReadIni("Erp", "PassWord", ClsPub.AppPath + @"\" + sTextBox); |
| | |
| | | |
| | | public bool CheckOpen() |
| | | { |
| | | if (sServer == "" || sServer == "æ²¡ææ¾å°ï¼" ) |
| | | if (sServer == "" || sServer == "æ²¡ææ¾å°ï¼") |
| | | { |
| | | throw new Exception("é误çæå¡å¨å!!" + System.Environment.CurrentDirectory); |
| | | } |
| | | if (sDataBase == "" || sDataBase == "æ²¡ææ¾å°ï¼") |
| | | { |
| | | throw new Exception("éè¯¯çæ°æ®åºå!!" +System.Environment.CurrentDirectory); |
| | | throw new Exception("éè¯¯çæ°æ®åºå!!" + System.Environment.CurrentDirectory); |
| | | } |
| | | SqlConnection oCn = new SqlConnection("Data Source=" + sServer + ";DataBase=master;User ID=" + sUser + ";PWD=" + sPassword + ";max pool size=32767"); |
| | | try |
| | |
| | | } |
| | | } |
| | | |
| | | private bool CnOpen()//OPENæ°æ®åºè¿æ¥ |
| | | private bool CnOpen()//OPENæ°æ®åºè¿æ¥ |
| | | { |
| | | if (sServer == "" || sServer == "æ²¡ææ¾å°ï¼") |
| | | { |
| | |
| | | { |
| | | throw new Exception("éè¯¯çæ°æ®åºå!"); |
| | | } |
| | | if (MainCn==null) |
| | | if (MainCn == null) |
| | | { |
| | | MainCn = new SqlConnection("Data Source=" + sServer + ";DataBase=" + sDataBase + ";User ID=" + sUser + ";PWD=" + sPassword + ";max pool size=32767"); |
| | | } |
| | |
| | | |
| | | public void CnDispose()//éæ¾èµæº |
| | | { |
| | | if(MainCn!=null) |
| | | { |
| | | if (MainCn != null) |
| | | { |
| | | MainCn.Dispose(); |
| | | MainCn=null; |
| | | MainCn = null; |
| | | } |
| | | } |
| | | /// <summary> |
| | |
| | | /// <returns>æ°ç parameter 对象</returns> |
| | | public SqlParameter MakeInParam(string ParamName, SqlDbType DbType, int Size, object Value) |
| | | { |
| | | return MakeParam(ParamName, DbType, Size, ParameterDirection.Input, Value); |
| | | return MakeParam(ParamName, DbType, Size, ParameterDirection.Input, Value); |
| | | } |
| | | /// <summary> |
| | | /// åå§ååæ°å¼ |
| | |
| | | /// <param name="procName"></param> |
| | | /// <param name="sErrMessage"></param> |
| | | /// <returns></returns> |
| | | public void RunProc(string procName,ref string sErr) |
| | | public void RunProc(string procName, ref string sErr) |
| | | { |
| | | if (!this.CnOpen()) |
| | | { |
| | | sErr = "è¿æ¥æ°æ®åºå¤±è´¥ï¼"; |
| | | return; |
| | | |
| | | |
| | | } |
| | | try |
| | | { |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | sErr =e.Message; |
| | | sErr = e.Message; |
| | | ClsPub.sErrInfo = e.Message; |
| | | throw (e); |
| | | //return; |
| | |
| | | /// <param name="tbName">表å</param> |
| | | /// <param name="sErrMessage">å¼å¸¸ä¿¡æ¯</param> |
| | | /// <returns></returns> |
| | | public DataSet RunProcReturn(string procName, SqlParameter[] prams, string tbName ) |
| | | public DataSet RunProcReturn(string procName, SqlParameter[] prams, string tbName) |
| | | { |
| | | SqlDataAdapter dap = CreateDataAdaper(procName, prams); |
| | | if (dap == null) |
| | |
| | | /// <param name="tbName">表å</param> |
| | | /// <param name="sErrMessage">å¼å¸¸ä¿¡æ¯</param> |
| | | /// <returns></returns> |
| | | public DataSet RunProcReturn(string procName, string tbName ) |
| | | public DataSet RunProcReturn(string procName, string tbName) |
| | | { |
| | | SqlDataAdapter dap = CreateDataAdaper(procName, null); |
| | | DataSet ds = new DataSet(); |
| | |
| | | /// <param name="tbName">表å</param> |
| | | /// <param name="sErrMessage">å¼å¸¸ä¿¡æ¯</param> |
| | | /// <returns></returns> |
| | | public DataSet RunProcReturn(string procName, string tbName,ref string sErr) |
| | | public DataSet RunProcReturn(string procName, string tbName, ref string sErr) |
| | | { |
| | | SqlDataAdapter dap = CreateDataAdaper(procName, null); |
| | | DataSet ds = new DataSet(); |
| | |
| | | |
| | | } |
| | | |
| | | public SqlDataReader RunReader(string sSQL,string tbName,ref string sErr) |
| | | public SqlDataReader RunReader(string sSQL, string tbName, ref string sErr) |
| | | { |
| | | if (!this.CnOpen()) |
| | | { |
| | |
| | | catch (Exception e) |
| | | { |
| | | ClsPub.sErrInfo = e.Message; |
| | | sErr = e.Message; |
| | | sErr = e.Message; |
| | | return null; |
| | | } |
| | | } |
| | | |
| | | |
| | | /// <summary> |
| | | /// æ¹éæå
¥æ°æ®åº |
| | | /// </summary> |
| | | /// <param name="TableName">ç®æ 表</param> |
| | | /// <param name="dt">æºæ°æ®</param> |
| | | public bool SqlBulkCopyByDatatable(string TableName, DataTable dt) |
| | | { |
| | | string connectionString = $"Data Source={sServer};DataBase={sDataBase};User ID={sUser};PWD={sPassword}"; |
| | | using (SqlConnection conn = new SqlConnection(connectionString)) |
| | | { |
| | | using (SqlBulkCopy sqlbulkcopy = new SqlBulkCopy(connectionString, SqlBulkCopyOptions.UseInternalTransaction)) |
| | | { |
| | | try |
| | | { |
| | | sqlbulkcopy.DestinationTableName = TableName; |
| | | for (int i = 0; i < dt.Columns.Count; i++) |
| | | { |
| | | sqlbulkcopy.ColumnMappings.Add(dt.Columns[i].ColumnName, dt.Columns[i].ColumnName); |
| | | } |
| | | sqlbulkcopy.WriteToServer(dt); |
| | | return true; |
| | | } |
| | | catch (System.Exception ex) |
| | | { |
| | | //ex.Message; |
| | | return false; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | #region IDisposable æå |
| | | |
| | | public void Dispose() |
| | |
| | | using Newtonsoft.Json; |
| | | using Model; |
| | | using Newtonsoft.Json; |
| | | using Newtonsoft.Json.Linq; |
| | | using NPOI.SS.Formula.Functions; |
| | | using Pub_Class; |
| | | using System; |
| | | using System.Collections; |
| | |
| | | using System.Data; |
| | | using System.Data.SqlClient; |
| | | using System.Web.Http; |
| | | using WebAPI.Controllers.SCGL.æ¥è®¡å管ç; |
| | | using WebAPI.Models; |
| | | using WebAPI.Service; |
| | | |
| | |
| | | using Newtonsoft.Json; |
| | | using Model; |
| | | using Newtonsoft.Json; |
| | | using Newtonsoft.Json.Linq; |
| | | using Pub_Class; |
| | | using System; |
| | |
| | | using System.Data; |
| | | using System.Data.SqlClient; |
| | | using System.Web.Http; |
| | | using WebAPI.Controllers.SCGL.æ¥è®¡å管ç; |
| | | using WebAPI.Models; |
| | | namespace WebAPI.Controllers |
| | | { |
| | |
| | | long HParentID = list[0].HParentID; |
| | | long HLevel = list[0].HLevel; |
| | | bool HEndFlag = list[0].HEndFlag; |
| | | bool HStopflag = list[0].HStopflag; |
| | | bool HStopflag = list[0].HStopFlag; |
| | | string HRemark = list[0].HRemark; |
| | | string HBarCode = list[0].HBarCode; |
| | | long HEmpID = list[0].HEmpID; |
| | |
| | | long HParentID = list[0].HParentID; |
| | | long HLevel = list[0].HLevel; |
| | | bool HEndFlag = list[0].HEndFlag; |
| | | bool HStopflag = list[0].HStopflag; |
| | | bool HStopflag = list[0].HStopFlag; |
| | | string HRemark = list[0].HRemark; |
| | | string HBarCode = list[0].HBarCode; |
| | | long HEmpID = list[0].HEmpID; |
| | |
| | | _value = "[" + _value.ToString() + "]"; |
| | | List<Warehouse> list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Warehouse>>(_value); |
| | | string sql = string.Empty; |
| | | //DataTable dt = DataHelper.ListToDataTable<Warehouse>(list); |
| | | //oCN.SqlBulkCopyByDatatable("Gy_Warehouse", dt); |
| | | //ä¿å |
| | | oCN.BeginTran(); |
| | | sql = $"delete Gy_Warehouse where HItemID = {list[0].HItemID}"; |
| | |
| | | " (HItemID,HNumber,HName,HHelpCode,HShortNumber,HParentID" + |
| | | ",HLevel,HEndFlag,HStopflag,HRemark,HEmpID,HAddress,HPhone,HUSEORGID) " + |
| | | " Values('" + list[0].HItemID + "','" + list[0].HNumber + "','" +list[0].HName + "','" + list[0].HHelpCode + "','" + list[0].HShortNumber + "'," + list[0].HParentID.ToString() + |
| | | "," + list[0].HLevel.ToString() + "," + Convert.ToString(list[0].HEndFlag ? 1 : 0) + "," + Convert.ToString(list[0].HStopflag ? 1 : 0) + ",'" + list[0].HRemark + "'," + list[0].HEmpID.ToString() + ",'" + list[0].HAddress + "','" + list[0].HPhone + "','" + list[0].HUSEORGID + "')", ref DBUtility.ClsPub.sExeReturnInfo); |
| | | "," + list[0].HLevel.ToString() + "," + Convert.ToString(list[0].HEndFlag ? 1 : 0) + "," + Convert.ToString(list[0].HStopFlag ? 1 : 0) + ",'" + list[0].HRemark + "'," + list[0].HEmpID.ToString() + ",'" + list[0].HAddress + "','" + list[0].HPhone + "','" + list[0].HUSEORGID + "')", ref DBUtility.ClsPub.sExeReturnInfo); |
| | | //ä¿®æ¹ä¸çº§ä¸ºéæ«çº§ä»£ç |
| | | sql = "set identity_insert Gy_Warehouse off"; |
| | | oCN.RunProc(sql); |
| | |
| | | //ååºåå |
| | | msg2 = "[" + msg2.ToString() + "]"; |
| | | List<WorkDay> list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<WorkDay>>(msg2); |
| | | |
| | | long HItemID = list[0].HItemID; |
| | | |
| | | //ä¿å |
| | | //ä¿å宿¯åå¤ç |
| | | if (HItemID == 0) |
| | | { |
| | | oCN.BeginTran(); |
| | | string sql = string.Format(@"insert into Gy_WorkDay (HDate,HWorkBegin,HWorkEnd,HNoonbreakBegin,HNoonbreakEnd,HNightbreakBegin,HNightbreakEnd) |
| | | values ('{0}','{1}','{2}','{3}','{4}','{5}','{6}')", list[0].HDate, list[0].HWorkBegin, list[0].HWorkEnd, list[0].HNoonbreakBegin, list[0].HNoonbreakEnd, list[0].HNightbreakBegin, list[0].HNightbreakEnd); |
| | | string sql = string.Format(@"insert into Gy_WorkDay (HDate,HWorkBegin,HWorkEnd,HNoonbreakBegin,HNoonbreakEnd,HNightbreakBegin,HNightbreakEnd,HNoonbreakBegin2,HNoonbreakEnd2,HNightbreakBegin2,HNightbreakEnd2) |
| | | values ('{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}','{8}','{9}','{10}')", list[0].HDate, list[0].HWorkBegin, list[0].HWorkEnd, list[0].HNoonbreakBegin, list[0].HNoonbreakEnd, list[0].HNightbreakBegin, list[0].HNightbreakEnd, list[0].HNoonbreakBegin2, list[0].HNoonbreakEnd2, list[0].HNightbreakBegin2, list[0].HNightbreakEnd2); |
| | | oCN.RunProc(sql); |
| | | oCN.Commit(); |
| | | } |
| | |
| | | ",HWorkBegin='" + list[0].HWorkBegin + "'" + |
| | | ",HWorkEnd='" + list[0].HWorkEnd + "'" + |
| | | ",HNoonbreakBegin='" + list[0].HNoonbreakBegin + "'" + |
| | | ",HNoonbreakEnd=" + list[0].HNoonbreakEnd + |
| | | ",HNightbreakBegin=" + list[0].HNightbreakBegin + |
| | | ",HNightbreakEnd=" + list[0].HNightbreakEnd + |
| | | ",HNoonbreakEnd='" + list[0].HNoonbreakEnd + "'" + |
| | | ",HNightbreakBegin='" + list[0].HNightbreakBegin + "'" + |
| | | ",HNightbreakEnd='" + list[0].HNightbreakEnd + "'" + |
| | | ",HNoonbreakBegin2='" + list[0].HNoonbreakBegin2 + "'" + |
| | | ",HNoonbreakEnd2='" + list[0].HNoonbreakEnd2 + "'" + |
| | | ",HNightbreakBegin2='" + list[0].HNightbreakBegin2 + "'" + |
| | | ",HNightbreakEnd2='" + list[0].HNightbreakEnd2 + "'" + |
| | | " Where HItemID=" + HItemID, ref DBUtility.ClsPub.sExeReturnInfo); |
| | | // |
| | | oCN.Commit(); |
| | |
| | | using System; |
| | | using Newtonsoft.Json; |
| | | using System; |
| | | using System.Collections; |
| | | using System.Collections.Generic; |
| | | using System.ComponentModel; |
| | | using System.Data; |
| | | using System.Linq; |
| | | using System.Reflection; |
| | |
| | | List<T> list = new List<T>(); |
| | | if (ds.Tables[0].Rows.Count > 0) |
| | | { |
| | | foreach (DataRow row in ds.Tables[0].Rows) |
| | | foreach (DataRow row in ds.Tables[0].Rows) |
| | | { |
| | | list.Add(row.Put(new T())); |
| | | } |
| | |
| | | } |
| | | return $"update {table} set {strSet} where 1=1 {condition}"; |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | /// <summary> |
| | | /// å°Listè½¬æ¢æDataTable |
| | | /// </summary> |
| | | /// <typeparam name="T"></typeparam> |
| | | /// <param name="data"></param> |
| | | /// <returns></returns> |
| | | public static DataTable ToDataTable<T>(this IList<T> data) |
| | | { |
| | | PropertyDescriptorCollection properties = TypeDescriptor.GetProperties(typeof(T)); |
| | | DataTable dt = new DataTable(); |
| | | for (int i = 0; i < properties.Count; i++) |
| | | { |
| | | PropertyDescriptor property = properties[i]; |
| | | dt.Columns.Add(property.Name, property.PropertyType); |
| | | } |
| | | object[] values = new object[properties.Count]; |
| | | foreach (T item in data) |
| | | { |
| | | for (int i = 0; i < values.Length; i++) |
| | | { |
| | | values[i] = properties[i].GetValue(item); |
| | | } |
| | | dt.Rows.Add(values); |
| | | } |
| | | return dt; |
| | | } |
| | | |
| | | |
| | | /// <summary> |
| | | /// å°List转æ¢ä¸ºDataTable |
| | | /// </summary> |
| | | /// <param name="list">è¯·æ±æ°æ®</param> |
| | | /// <returns></returns> |
| | | public static DataTable ListToDataTable<T>(List<T> list) |
| | | { |
| | | //å建ä¸ä¸ªå为"tableName"ç空表 |
| | | DataTable dt = new DataTable("tableName"); |
| | | |
| | | //åå»ºä¼ å
¥å¯¹è±¡åç§°çå |
| | | foreach (var item in list.FirstOrDefault().GetType().GetProperties()) |
| | | { |
| | | dt.Columns.Add(item.Name); |
| | | } |
| | | //循ç¯åå¨ |
| | | foreach (var item in list) |
| | | { |
| | | //æ°å è¡ |
| | | DataRow value = dt.NewRow(); |
| | | //æ ¹æ®DataTableä¸çå¼ï¼è¿è¡å¯¹åºçèµå¼ |
| | | foreach (DataColumn dtColumn in dt.Columns) |
| | | { |
| | | int i = dt.Columns.IndexOf(dtColumn); |
| | | //åºå
å
ç´ ï¼ç´æ¥å¤å¶ï¼å¯¹è±¡ç±»åçï¼è¿è¡åºåå |
| | | if (value.GetType().IsPrimitive) |
| | | { |
| | | value[i] = item.GetType().GetProperty(dtColumn.ColumnName).GetValue(item); |
| | | } |
| | | else |
| | | { |
| | | value[i] = JsonConvert.SerializeObject(item.GetType().GetProperty(dtColumn.ColumnName).GetValue(item)); |
| | | } |
| | | } |
| | | dt.Rows.Add(value); |
| | | } |
| | | return dt; |
| | | } |
| | | |
| | | } |
| | | |
| | | } |
| | |
| | | public long HParentID { get; set; } |
| | | public string HRemark { get; set; } |
| | | public string HShortNumber { get; set; } |
| | | public bool HStopflag { get; set; } |
| | | public bool HStopFlag { get; set; } |
| | | public string HUseFlag { get; set; } |
| | | public Int64 HEmpID { get; set; } |
| | | public string HAddress { get; set; } |
| | | public string HPhone { get; set; } |
| | | public bool HIsStockMgr { get; set; } |
| | | public Int64 HSPGroupID { get; set; } |
| | | public string HBarCode { get; set; } |
| | | public Int64 HUSEORGID { get; set; } |
| | |
| | | public DateTime HNoonbreakEnd { get; set; } |
| | | public DateTime HNightbreakBegin { get; set; } |
| | | public DateTime HNightbreakEnd { get; set; } |
| | | public DateTime HNoonbreakBegin2 { get; set; } |
| | | public DateTime HNoonbreakEnd2 { get; set; } |
| | | public DateTime HNightbreakBegin2 { get; set; } |
| | | public DateTime HNightbreakEnd2 { get; set; } |
| | | } |
| | | } |
| | |
| | | <IISExpressWindowsAuthentication /> |
| | | <IISExpressUseClassicPipelineMode /> |
| | | <UseGlobalApplicationHostFile /> |
| | | <ProjectView>ShowAllFiles</ProjectView> |
| | | <ProjectView>ProjectFiles</ProjectView> |
| | | <Controller_SelectedScaffolderID>MvcControllerEmptyScaffolder</Controller_SelectedScaffolderID> |
| | | <Controller_SelectedScaffolderCategoryPath>root/Common/MVC/Controller</Controller_SelectedScaffolderCategoryPath> |
| | | </PropertyGroup> |