/// <summary> /// Generate sql sentence /// </summary> /// <param name="pkValue"></param> /// <returns></returns> /// 业务主键验证,sql private string GenerateSQLToCheckBUSPK(string tableName, DataRow dr, string busPKName, string deletedParas) { string sql = ""; string errMsg = ""; if (busPKName == "") { return(""); } sql = ConstructDMLSql.ConstructCheckBusPKSql(tableName, dr, busPKName); sql += deletedParas; if (sql == "") { return(BUSDATERR_SQL); } try { DataTable dt = _da.GetDataTable(sql); if ((int)dt.Rows[0][0] == 0) { errMsg = ""; } else { errMsg = BUSDATERR_PK; } } catch (SqlException e) { errMsg = BUSDATERR_SQL; } return(errMsg); }
/// <summary> /// if business pk exists then return the physical pk of this table,else return ""; /// </summary> /// <param name="pkValue"></param> /// <returns></returns> /// 业务主键验证,以确认新增记录应该是insert还是update private string CheckBUSPKExistForInsert(string tableName, DataRow dr, string busPKName, string pkFieldName, out string pkValue) { string sql = ""; string errMsg = ""; pkValue = ""; sql = ConstructDMLSql.ConstructCheckBusPKSql(tableName, dr, busPKName, pkFieldName); if (sql == "") { return(ERR_DAE_SAVE_PKCHECK); } try { DataTable dt = _da.GetDataTable(sql); if (dt.Rows.Count == 0) { pkValue = ""; } else { pkValue = dt.Rows[0][0].ToString(); } } catch (SqlException e) { errMsg = GetDataBaseErrorsMessage(e); } return(errMsg); }
public virtual string Delete(ArrayList alDeleteData) { string sqlDelete = "SET XACT_ABORT ON begin TRANSACTION Deletetran "; string errMsg = ""; for (int i = 0; i < alDeleteData.Count; i++) { string _tbname = ((IDeleteEventDate)alDeleteData[i]).TableName; string _pkFieldName = ((IDeleteEventDate)alDeleteData[i]).PkName; string pkValue = ((IDeleteEventDate)alDeleteData[i]).PkValue; sqlDelete = sqlDelete + ConstructDMLSql.ConstructDeleteSql(_tbname, _pkFieldName, pkValue) + ";"; sqlDelete += " IF @@ERROR<>0 begin ROLLBACK TRANSACTION Deletetran return end "; } sqlDelete += " else COMMIT TRANSACTION Deletetran "; if (sqlDelete.Trim().Length == 0) { return(ERR_DAE_DELETE); } try { errMsg = _da.ExecuteDMLSQL(sqlDelete); } catch (System.Data.SqlClient.SqlException e) { return(GetDataBaseErrorsMessage(e)); } return(errMsg); }
private string SaveRowsData(string tableName, DataRow dr, string pkName, string busPKName) { string sql = ""; string errMsg = ""; string pkValue = ""; if (dr.RowState == DataRowState.Deleted) { dr.RejectChanges(); sql = ConstructDMLSql.ConstructDeleteSql(tableName, pkName, dr[pkName].ToString()); } else { if (dr["RowStatus"].ToString().ToUpper() == "NEW") { sql = ConstructDMLSql.ConstructInsertSql(tableName, dr); } else if (dr["RowStatus"].ToString().ToUpper() == "EDIT") { if (CheckTimeStampExistForUpdate("", "")) { sql = ConstructDMLSql.ConstructUpdateSql(tableName, dr, pkName, pkValue); } } } try { errMsg += _da.ExecuteDMLSQL(sql); dr.AcceptChanges(); if (dr["RowStatus"].ToString().ToUpper() == "NEW" && errMsg.Trim().Length == 0) { dr["RowStatus"] = "EDIT"; } } catch (SqlException e) { errMsg += GetDataBaseErrorsMessage(e); } return(errMsg); }