using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Data.SqlClient; using System.Data; using ZXDT.DBUtility; namespace ZXDT.CallCenter.DAL { /// /// 数据访问类:T_Form_EntityInfo /// public partial class T_Form_EntityInfo { public T_Form_EntityInfo() { } #region Method /// /// 是否存在该记录 /// public bool Exists(int F_EntityId) { StringBuilder strSql = new StringBuilder(); strSql.Append("select count(1) from T_Form_EntityInfo"); strSql.Append(" where F_EntityId=@F_EntityId"); SqlParameter[] parameters = { new SqlParameter("@F_EntityId", SqlDbType.Int,4) }; parameters[0].Value = F_EntityId; return DbHelperSQL.Exists(strSql.ToString(), parameters); } /// /// 增加一条数据 /// public int Add(ZXDT.CallCenter.Model.T_Form_EntityInfo model) { StringBuilder strSql = new StringBuilder(); strSql.Append("insert into T_Form_EntityInfo("); strSql.Append("F_Name,F_DBTableName,F_IsActivity,F_Des,F_LinkTableName,F_LinkFieldName,F_CreateSQL,F_CreateOn,F_ModifySQL,F_LastModifyOn)"); strSql.Append(" values ("); strSql.Append("@F_Name,@F_DBTableName,@F_IsActivity,@F_Des,@F_LinkTableName,@F_LinkFieldName,@F_CreateSQL,@F_CreateOn,@F_ModifySQL,@F_LastModifyOn)"); strSql.Append(";select @@IDENTITY"); SqlParameter[] parameters = { new SqlParameter("@F_Name", SqlDbType.NVarChar,64), new SqlParameter("@F_DBTableName", SqlDbType.NVarChar,64), new SqlParameter("@F_IsActivity", SqlDbType.SmallInt,2), new SqlParameter("@F_Des", SqlDbType.NVarChar,800), new SqlParameter("@F_LinkTableName", SqlDbType.NVarChar,50), new SqlParameter("@F_LinkFieldName", SqlDbType.NVarChar,50), new SqlParameter("@F_CreateSQL", SqlDbType.Text), new SqlParameter("@F_CreateOn", SqlDbType.DateTime), new SqlParameter("@F_ModifySQL", SqlDbType.Text), new SqlParameter("@F_LastModifyOn", SqlDbType.DateTime)}; parameters[0].Value = model.F_Name; parameters[1].Value = model.F_DBTableName; parameters[2].Value = model.F_IsActivity; parameters[3].Value = model.F_Des; parameters[4].Value = model.F_LinkTableName; parameters[5].Value = model.F_LinkFieldName; parameters[6].Value = model.F_CreateSQL; parameters[7].Value = model.F_CreateOn; parameters[8].Value = model.F_ModifySQL; parameters[9].Value = model.F_LastModifyOn; object obj = DbHelperSQL.GetSingle(strSql.ToString(), parameters); if (obj == null) { return 0; } else { return Convert.ToInt32(obj); } } /// /// 更新一条数据 /// public bool Update(ZXDT.CallCenter.Model.T_Form_EntityInfo model) { StringBuilder strSql = new StringBuilder(); strSql.Append("update T_Form_EntityInfo set "); strSql.Append("F_Name=@F_Name,"); strSql.Append("F_DBTableName=@F_DBTableName,"); strSql.Append("F_IsActivity=@F_IsActivity,"); strSql.Append("F_Des=@F_Des,"); strSql.Append("F_LinkTableName=@F_LinkTableName,"); strSql.Append("F_LinkFieldName=@F_LinkFieldName,"); strSql.Append("F_CreateSQL=@F_CreateSQL,"); strSql.Append("F_CreateOn=@F_CreateOn,"); strSql.Append("F_ModifySQL=@F_ModifySQL,"); strSql.Append("F_LastModifyOn=@F_LastModifyOn"); strSql.Append(" where F_EntityId=@F_EntityId"); SqlParameter[] parameters = { new SqlParameter("@F_Name", SqlDbType.NVarChar,64), new SqlParameter("@F_DBTableName", SqlDbType.NVarChar,64), new SqlParameter("@F_IsActivity", SqlDbType.SmallInt,2), new SqlParameter("@F_Des", SqlDbType.NVarChar,800), new SqlParameter("@F_LinkTableName", SqlDbType.NVarChar,50), new SqlParameter("@F_LinkFieldName", SqlDbType.NVarChar,50), new SqlParameter("@F_CreateSQL", SqlDbType.Text), new SqlParameter("@F_CreateOn", SqlDbType.DateTime), new SqlParameter("@F_ModifySQL", SqlDbType.Text), new SqlParameter("@F_LastModifyOn", SqlDbType.DateTime), new SqlParameter("@F_EntityId", SqlDbType.Int,4)}; parameters[0].Value = model.F_Name; parameters[1].Value = model.F_DBTableName; parameters[2].Value = model.F_IsActivity; parameters[3].Value = model.F_Des; parameters[4].Value = model.F_LinkTableName; parameters[5].Value = model.F_LinkFieldName; parameters[6].Value = model.F_CreateSQL; parameters[7].Value = model.F_CreateOn; parameters[8].Value = model.F_ModifySQL; parameters[9].Value = model.F_LastModifyOn; parameters[10].Value = model.F_EntityId; int rows = DbHelperSQL.ExecuteSql(strSql.ToString(), parameters); if (rows > 0) { return true; } else { return false; } } /// /// 删除一条数据 /// public bool Delete(int F_EntityId) { StringBuilder strSql = new StringBuilder(); strSql.Append("delete from T_Form_EntityInfo "); strSql.Append(" where F_EntityId=@F_EntityId"); SqlParameter[] parameters = { new SqlParameter("@F_EntityId", SqlDbType.Int,4) }; parameters[0].Value = F_EntityId; int rows = DbHelperSQL.ExecuteSql(strSql.ToString(), parameters); if (rows > 0) { return true; } else { return false; } } /// /// 批量删除数据 /// public bool DeleteList(string F_EntityIdlist) { StringBuilder strSql = new StringBuilder(); strSql.Append("delete from T_Form_EntityInfo "); strSql.Append(" where F_EntityId in (" + F_EntityIdlist + ") "); int rows = DbHelperSQL.ExecuteSql(strSql.ToString()); if (rows > 0) { return true; } else { return false; } } /// /// 得到一个对象实体 /// public ZXDT.CallCenter.Model.T_Form_EntityInfo GetModel(int F_EntityId) { StringBuilder strSql = new StringBuilder(); strSql.Append("select top 1 F_EntityId,F_Name,F_DBTableName,F_IsActivity,F_Des,F_LinkTableName,F_LinkFieldName,F_CreateSQL,F_CreateOn,F_ModifySQL,F_LastModifyOn from T_Form_EntityInfo "); strSql.Append(" where F_EntityId=@F_EntityId"); SqlParameter[] parameters = { new SqlParameter("@F_EntityId", SqlDbType.Int,4) }; parameters[0].Value = F_EntityId; ZXDT.CallCenter.Model.T_Form_EntityInfo model = new ZXDT.CallCenter.Model.T_Form_EntityInfo(); DataSet ds = DbHelperSQL.Query(strSql.ToString(), parameters); if (ds.Tables[0].Rows.Count > 0) { if (ds.Tables[0].Rows[0]["F_EntityId"] != null && ds.Tables[0].Rows[0]["F_EntityId"].ToString() != "") { model.F_EntityId = int.Parse(ds.Tables[0].Rows[0]["F_EntityId"].ToString()); } if (ds.Tables[0].Rows[0]["F_Name"] != null && ds.Tables[0].Rows[0]["F_Name"].ToString() != "") { model.F_Name = ds.Tables[0].Rows[0]["F_Name"].ToString(); } if (ds.Tables[0].Rows[0]["F_DBTableName"] != null && ds.Tables[0].Rows[0]["F_DBTableName"].ToString() != "") { model.F_DBTableName = ds.Tables[0].Rows[0]["F_DBTableName"].ToString(); } if (ds.Tables[0].Rows[0]["F_IsActivity"] != null && ds.Tables[0].Rows[0]["F_IsActivity"].ToString() != "") { model.F_IsActivity = int.Parse(ds.Tables[0].Rows[0]["F_IsActivity"].ToString()); } if (ds.Tables[0].Rows[0]["F_Des"] != null && ds.Tables[0].Rows[0]["F_Des"].ToString() != "") { model.F_Des = ds.Tables[0].Rows[0]["F_Des"].ToString(); } if (ds.Tables[0].Rows[0]["F_LinkTableName"] != null && ds.Tables[0].Rows[0]["F_LinkTableName"].ToString() != "") { model.F_LinkTableName = ds.Tables[0].Rows[0]["F_LinkTableName"].ToString(); } if (ds.Tables[0].Rows[0]["F_LinkFieldName"] != null && ds.Tables[0].Rows[0]["F_LinkFieldName"].ToString() != "") { model.F_LinkFieldName = ds.Tables[0].Rows[0]["F_LinkFieldName"].ToString(); } if (ds.Tables[0].Rows[0]["F_CreateSQL"] != null && ds.Tables[0].Rows[0]["F_CreateSQL"].ToString() != "") { model.F_CreateSQL = ds.Tables[0].Rows[0]["F_CreateSQL"].ToString(); } if (ds.Tables[0].Rows[0]["F_CreateOn"] != null && ds.Tables[0].Rows[0]["F_CreateOn"].ToString() != "") { model.F_CreateOn = DateTime.Parse(ds.Tables[0].Rows[0]["F_CreateOn"].ToString()); } if (ds.Tables[0].Rows[0]["F_ModifySQL"] != null && ds.Tables[0].Rows[0]["F_ModifySQL"].ToString() != "") { model.F_ModifySQL = ds.Tables[0].Rows[0]["F_ModifySQL"].ToString(); } if (ds.Tables[0].Rows[0]["F_LastModifyOn"] != null && ds.Tables[0].Rows[0]["F_LastModifyOn"].ToString() != "") { model.F_LastModifyOn = DateTime.Parse(ds.Tables[0].Rows[0]["F_LastModifyOn"].ToString()); } return model; } else { return null; } } /// /// 获得数据列表 /// public DataSet GetList(string strWhere) { StringBuilder strSql = new StringBuilder(); strSql.Append("select F_EntityId,F_Name,F_DBTableName,F_IsActivity,F_Des,F_LinkTableName,F_LinkFieldName,F_CreateSQL,F_CreateOn,F_ModifySQL,F_LastModifyOn "); strSql.Append(" FROM T_Form_EntityInfo "); if (strWhere.Trim() != "") { strSql.Append(" where " + strWhere); } return DbHelperSQL.Query(strSql.ToString()); } /// /// 获得前几行数据 /// public DataSet GetList(int Top, string strWhere, string filedOrder) { StringBuilder strSql = new StringBuilder(); strSql.Append("select "); if (Top > 0) { strSql.Append(" top " + Top.ToString()); } strSql.Append(" F_EntityId,F_Name,F_DBTableName,F_IsActivity,F_Des,F_LinkTableName,F_LinkFieldName,F_CreateSQL,F_CreateOn,F_ModifySQL,F_LastModifyOn "); strSql.Append(" FROM T_Form_EntityInfo "); if (strWhere.Trim() != "") { strSql.Append(" where " + strWhere); } strSql.Append(" order by " + filedOrder); return DbHelperSQL.Query(strSql.ToString()); } /// /// 获取记录总数 /// public int GetRecordCount(string strWhere) { StringBuilder strSql = new StringBuilder(); strSql.Append("select count(1) FROM T_Form_EntityInfo "); if (strWhere.Trim() != "") { strSql.Append(" where " + strWhere); } object obj = DbHelperSQL.GetSingle(strSql.ToString()); if (obj == null) { return 0; } else { return Convert.ToInt32(obj); } } /// /// 分页获取数据列表 /// public DataSet GetListByPage(string strWhere, string orderby, int startIndex, int endIndex) { StringBuilder strSql = new StringBuilder(); strSql.Append("SELECT * FROM ( "); strSql.Append(" SELECT ROW_NUMBER() OVER ("); if (!string.IsNullOrEmpty(orderby.Trim())) { strSql.Append("order by T." + orderby); } else { strSql.Append("order by T.F_EntityId desc"); } strSql.Append(")AS Row, T.* from T_Form_EntityInfo T "); if (!string.IsNullOrEmpty(strWhere.Trim())) { strSql.Append(" WHERE " + strWhere); } strSql.Append(" ) TT"); strSql.AppendFormat(" WHERE TT.Row between {0} and {1}", startIndex, endIndex); return DbHelperSQL.Query(strSql.ToString()); } /* /// /// 分页获取数据列表 /// public DataSet GetList(int PageSize,int PageIndex,string strWhere) { SqlParameter[] parameters = { new SqlParameter("@tblName", SqlDbType.VarChar, 255), new SqlParameter("@fldName", SqlDbType.VarChar, 255), new SqlParameter("@PageSize", SqlDbType.Int), new SqlParameter("@PageIndex", SqlDbType.Int), new SqlParameter("@IsReCount", SqlDbType.Bit), new SqlParameter("@OrderType", SqlDbType.Bit), new SqlParameter("@strWhere", SqlDbType.VarChar,1000), }; parameters[0].Value = "T_Form_EntityInfo"; parameters[1].Value = "F_EntityId"; parameters[2].Value = PageSize; parameters[3].Value = PageIndex; parameters[4].Value = 0; parameters[5].Value = 0; parameters[6].Value = strWhere; return DbHelperSQL.RunProcedure("UP_GetRecordByPage",parameters,"ds"); }*/ #endregion Method /// /// 增加一条数据 /// public int AddTran(Model.T_Form_EntityInfo model) { try { int res = -1; StringBuilder strSql = new StringBuilder(); StringBuilder strFildSql = new StringBuilder(); using (SqlConnection conn = new SqlConnection(DbHelperSQL.connectionString)) { if (conn.State.ToString() != "Open") conn.Open(); ///设置隔离级别,启动数据库事务 SqlTransaction trans = conn.BeginTransaction(IsolationLevel.ReadCommitted); SqlCommand cmd = new SqlCommand(); try { strSql.Append("Declare @err int;declare @res int; declare @F_EntityId int;set @F_EntityId=0; set @err=0;set @res=0;"); //判断系统是否存在此表 strSql.Append("if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[" + model.F_DBTableName + "]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)"); strSql.Append("begin set @res=-2 end else begin "); #region 实体信息 strSql.Append("insert into T_Form_EntityInfo("); strSql.Append("F_Name,F_DBTableName,F_IsActivity,F_Des,F_LinkTableName,F_LinkFieldName,F_CreateSQL,F_CreateOn,F_ModifySQL,F_LastModifyOn)"); strSql.Append(" values ("); strSql.Append("@F_Name,@F_DBTableName,@F_IsActivity,@F_Des,@F_LinkTableName,@F_LinkFieldName,@F_CreateSQL,@F_CreateOn,@F_ModifySQL,@F_LastModifyOn)"); strSql.Append(";select @F_EntityId=@@IDENTITY;SELECT @err=@@ERROR;"); SqlParameter[] parameters = { new SqlParameter("@F_Name", SqlDbType.NVarChar,64), new SqlParameter("@F_DBTableName", SqlDbType.NVarChar,64), new SqlParameter("@F_IsActivity", SqlDbType.SmallInt,2), new SqlParameter("@F_Des", SqlDbType.NVarChar,800), new SqlParameter("@F_LinkTableName", SqlDbType.NVarChar,50), new SqlParameter("@F_LinkFieldName", SqlDbType.NVarChar,50), new SqlParameter("@F_CreateSQL", SqlDbType.Text), new SqlParameter("@F_CreateOn", SqlDbType.DateTime), new SqlParameter("@F_ModifySQL", SqlDbType.Text), new SqlParameter("@F_LastModifyOn", SqlDbType.DateTime)}; parameters[0].Value = model.F_Name; parameters[1].Value = model.F_DBTableName; parameters[2].Value = model.F_IsActivity; parameters[3].Value = model.F_Des; parameters[4].Value = model.F_LinkTableName; parameters[5].Value = model.F_LinkFieldName; parameters[6].Value = model.F_CreateSQL; parameters[7].Value = model.F_CreateOn; parameters[8].Value = model.F_ModifySQL; parameters[9].Value = model.F_LastModifyOn; #endregion #region 属性信息 if (model.EntityAttributeItems != null) { int i = 0; foreach (Model.T_Form_EntityAttribute attributemodel in model.EntityAttributeItems) { strSql.Append("insert into T_Form_EntityAttribute("); strSql.Append("F_TypeId,F_DBTypeName,F_Name,F_DBFieldlName,F_Length,F_IsNullable,F_EntityId,F_DBTableName,F_DefaultValue,F_ColumnNumber,F_ValidForUpdateAPI,F_ValidForReadAPI,F_ValidForCreateAPI,F_VisibleToPlatform,F_IsPKAttribute,F_IsCustomField,F_DisplayMask,F_IsSortAttribute,F_PrecisionValue,F_IsIdentity,F_AppDefaultValue,F_Locked,F_MaxLength,F_MinValue,F_MaxValue,F_LookupKey,F_LookupStyle,F_IsLookup,F_Des)"); strSql.Append(" values ("); strSql.Append("@F_TypeId_"+i.ToString()+","); strSql.Append("@F_DBTypeName_"+i.ToString()+","); strSql.Append("@F_Name_"+i.ToString()+","); strSql.Append("@F_DBFieldlName_"+i.ToString()+","); strSql.Append("@F_Length_"+i.ToString()+","); strSql.Append("@F_IsNullable_"+i.ToString()+","); strSql.Append("@F_EntityId,"); strSql.Append("@F_DBTableName_"+i.ToString()+","); strSql.Append("@F_DefaultValue_"+i.ToString()+","); strSql.Append("@F_ColumnNumber_"+i.ToString()+","); strSql.Append("@F_ValidForUpdateAPI_"+i.ToString()+","); strSql.Append("@F_ValidForReadAPI_"+i.ToString()+","); strSql.Append("@F_ValidForCreateAPI_"+i.ToString()+","); strSql.Append("@F_VisibleToPlatform_"+i.ToString()+","); strSql.Append("@F_IsPKAttribute_"+i.ToString()+","); strSql.Append("@F_IsCustomField_"+i.ToString()+","); strSql.Append("@F_DisplayMask_"+i.ToString()+","); strSql.Append("@F_IsSortAttribute_"+i.ToString()+","); strSql.Append("@F_PrecisionValue_"+i.ToString()+","); strSql.Append("@F_IsIdentity_"+i.ToString()+","); strSql.Append("@F_AppDefaultValue_"+i.ToString()+","); strSql.Append("@F_Locked_"+i.ToString()+","); strSql.Append("@F_MaxLength_"+i.ToString()+","); strSql.Append("@F_MinValue_"+i.ToString()+","); strSql.Append("@F_MaxValue_"+i.ToString()+","); strSql.Append("@F_LookupKey_"+i.ToString()+","); strSql.Append("@F_LookupStyle_"+i.ToString()+","); strSql.Append("@F_IsLookup_"+i.ToString()+","); strSql.Append("@F_Des_" + i.ToString() + ")"); SqlParameter[] parametersAttribute = { new SqlParameter("@F_TypeId_"+i.ToString(), SqlDbType.Int,4), new SqlParameter("@F_DBTypeName_"+i.ToString(), SqlDbType.NVarChar,50), new SqlParameter("@F_Name_"+i.ToString(), SqlDbType.NVarChar,50), new SqlParameter("@F_DBFieldlName_"+i.ToString(), SqlDbType.NVarChar,50), new SqlParameter("@F_Length_"+i.ToString(), SqlDbType.Int,4), new SqlParameter("@F_IsNullable_"+i.ToString(), SqlDbType.Bit,1), new SqlParameter("@F_DBTableName_"+i.ToString(), SqlDbType.NVarChar,50), new SqlParameter("@F_DefaultValue_"+i.ToString(), SqlDbType.NVarChar,50), new SqlParameter("@F_ColumnNumber_"+i.ToString(), SqlDbType.Int,4), new SqlParameter("@F_ValidForUpdateAPI_"+i.ToString(), SqlDbType.Bit,1), new SqlParameter("@F_ValidForReadAPI_"+i.ToString(), SqlDbType.Bit,1), new SqlParameter("@F_ValidForCreateAPI_"+i.ToString(), SqlDbType.Bit,1), new SqlParameter("@F_VisibleToPlatform_"+i.ToString(), SqlDbType.Bit,1), new SqlParameter("@F_IsPKAttribute_"+i.ToString(), SqlDbType.Bit,1), new SqlParameter("@F_IsCustomField_"+i.ToString(), SqlDbType.Bit,1), new SqlParameter("@F_DisplayMask_"+i.ToString(), SqlDbType.Int,4), new SqlParameter("@F_IsSortAttribute_"+i.ToString(), SqlDbType.Bit,1), new SqlParameter("@F_PrecisionValue_"+i.ToString(), SqlDbType.Int,4), new SqlParameter("@F_IsIdentity_"+i.ToString(), SqlDbType.Bit,1), new SqlParameter("@F_AppDefaultValue_"+i.ToString(), SqlDbType.Int,4), new SqlParameter("@F_Locked_"+i.ToString(), SqlDbType.Bit,1), new SqlParameter("@F_MaxLength_"+i.ToString(), SqlDbType.Int,4), new SqlParameter("@F_MinValue_"+i.ToString(), SqlDbType.Float,8), new SqlParameter("@F_MaxValue_"+i.ToString(), SqlDbType.Float,8), new SqlParameter("@F_LookupKey_"+i.ToString(), SqlDbType.NVarChar,50), new SqlParameter("@F_LookupStyle_"+i.ToString(), SqlDbType.NVarChar,50), new SqlParameter("@F_IsLookup_"+i.ToString(), SqlDbType.Bit,1), new SqlParameter("@F_Des_"+i.ToString(), SqlDbType.NVarChar,500)}; parametersAttribute[0].Value = attributemodel.F_TypeId; parametersAttribute[1].Value = attributemodel.F_DBTypeName; parametersAttribute[2].Value = attributemodel.F_Name; parametersAttribute[3].Value = attributemodel.F_DBFieldlName; parametersAttribute[4].Value = attributemodel.F_Length; parametersAttribute[5].Value = attributemodel.F_IsNullable; parametersAttribute[6].Value = attributemodel.F_DBTableName; parametersAttribute[7].Value = attributemodel.F_DefaultValue; parametersAttribute[8].Value = attributemodel.F_ColumnNumber; parametersAttribute[9].Value = attributemodel.F_ValidForUpdateAPI; parametersAttribute[10].Value = attributemodel.F_ValidForReadAPI; parametersAttribute[11].Value = attributemodel.F_ValidForCreateAPI; parametersAttribute[12].Value = attributemodel.F_VisibleToPlatform; parametersAttribute[13].Value = attributemodel.F_IsPKAttribute; parametersAttribute[14].Value = attributemodel.F_IsCustomField; parametersAttribute[15].Value = attributemodel.F_DisplayMask; parametersAttribute[16].Value = attributemodel.F_IsSortAttribute; parametersAttribute[17].Value = attributemodel.F_PrecisionValue; parametersAttribute[18].Value = attributemodel.F_IsIdentity; parametersAttribute[19].Value = attributemodel.F_AppDefaultValue; parametersAttribute[20].Value = attributemodel.F_Locked; parametersAttribute[21].Value = attributemodel.F_MaxLength; parametersAttribute[22].Value = attributemodel.F_MinValue; parametersAttribute[23].Value = attributemodel.F_MaxValue; parametersAttribute[24].Value = attributemodel.F_LookupKey; parametersAttribute[25].Value = attributemodel.F_LookupStyle; parametersAttribute[26].Value = attributemodel.F_IsLookup; parametersAttribute[27].Value = attributemodel.F_Des; strSql.Append(" SELECT @err=@err+@@ERROR; "); string isnull = " NULL "; string ispkey = ""; string defaultvalue = ""; string identity = ""; string fieldname = attributemodel.F_DBTypeName; if (attributemodel.F_Length != null) { fieldname = fieldname + "(" + attributemodel.F_Length.ToString() + ")"; } if (attributemodel.F_IsNullable) { isnull = " NULL "; } else { isnull = " NOT NULL "; } if (attributemodel.F_IsPKAttribute) { ispkey = " primary key "; } else { ispkey = ""; } if (attributemodel.F_IsIdentity) { identity = " IDENTITY(1,1) "; } else { identity = ""; } if (!string.IsNullOrEmpty(attributemodel.F_DefaultValue)) { defaultvalue = " default(" + attributemodel.F_DefaultValue.Trim() + ") "; } strFildSql.Append("[" + attributemodel.F_DBFieldlName + "] " + fieldname + isnull + ispkey + identity + defaultvalue + " ,"); //遍历绑定参数 foreach (SqlParameter parm in parametersAttribute) { if ((parm.Direction == ParameterDirection.InputOutput || parm.Direction == ParameterDirection.Input) && (parm.Value == null)) { parm.Value = DBNull.Value; } cmd.Parameters.Add(parm); } i++; } } #endregion #region 创建表 strFildSql.Append("#@!"); strSql.Append("CREATE TABLE [dbo].[" + model.F_DBTableName + "] ("); strSql.Append(strFildSql.ToString().Replace(",#@!", "").Replace("#@!", "")); strSql.Append(")"); strSql.Append(" SELECT @err=@err+@@ERROR; "); #endregion parameters[6].Value = "CREATE TABLE [dbo].[" + model.F_DBTableName + "] (" + strFildSql.ToString().Replace(",#@!", "").Replace("#@!", "") + ")"; foreach (SqlParameter parm in parameters) { if ((parm.Direction == ParameterDirection.InputOutput || parm.Direction == ParameterDirection.Input) && (parm.Value == null)) { parm.Value = DBNull.Value; } cmd.Parameters.Add(parm); } #region 执行命令 cmd.CommandType = CommandType.Text; cmd.Connection = trans.Connection; cmd.Transaction = trans; strSql.Append(" end "); cmd.CommandText = strSql.Append("SELECT @err,@res").ToString(); using (SqlDataReader rdr = cmd.ExecuteReader()) { rdr.Read(); // 如果错误的数量不为零, 抛出异常终止操作 if (rdr.GetInt32(0) != 0) { //throw new ApplicationException("数据插入错误 —— 回滚原因"); trans.Rollback(); res = -1; } else { res = rdr.GetInt32(1); } } ///提交事务 trans.Commit(); cmd.Parameters.Clear(); #endregion } catch { res = -1; ///事务回滚 trans.Rollback(); //throw new ApplicationException(e.Message); } finally { strSql = null; conn.Close(); conn.Dispose(); } } return res; } catch { return -1; } } } }