/// <summary> /// 获取建表模板 /// </summary> /// <param name="keyid">表主键</param> /// <returns>结果</returns> public Result GetTemplateSqlCreate(string keyid) { var con = ConnectionHelper.GetSqlSugarClient(); var tableInfo = con.Queryable <TableInfo>().Where(p => p.TabelKeyID == keyid).First(); if (string.IsNullOrWhiteSpace(tableInfo?.TabelKeyID)) { return(new Result() { Msg = "表信息获取失败" }); } var conInfo = new BConString().GetConString(tableInfo.ConStringKeyID); if (string.IsNullOrWhiteSpace(conInfo?.ConnectionString)) { return(new Result() { Msg = "获取数据库连接失败" }); } var conCon = ConnectionHelper.GetSqlSugarClientByConString(conInfo.ConnectionString); string sql = $"show create table {tableInfo.MaxTableName};"; var res = conCon.Queryable <dynamic>(sql).First(); return(new Result <Table>() { Success = true, Msg = res.CreateTable }); }
/// <summary> /// 执行表的创建 /// </summary> /// <param name="tableKeyID">表主键</param> /// <param name="sql">待执行的sql语句</param> /// <returns>执行结果</returns> public Result ExecuteCreateTable(string tableKeyID, string sql) { try { if (string.IsNullOrWhiteSpace(sql)) { return(new BTask().AddDBTask(new DBTask() { BusinessKeyID = tableKeyID, BusinessType = BusinessType.表建表, BusinessContent = sql })); } ////当sql为空,获取表模板的sql语句执行建表,不为空执行入参中的sql建表 var tableInfo = this.GetTableByKeyId(tableKeyID)?.Data; if (string.IsNullOrWhiteSpace(tableInfo?.ConStringKeyID)) { return(new Result() { Msg = "表不存在" }); } var conInfo = new BConString().GetConString(tableInfo.ConStringKeyID); if (string.IsNullOrWhiteSpace(conInfo?.KeyID)) { return(new Result() { Msg = "数据连接不存在" }); } var con = ConnectionHelper.GetSqlSugarClientByConString(conInfo.ConnectionString); var rt = con.Ado.ExecuteCommand(sql); return(new Result() { Success = rt > 0 }); } catch (Exception e) { NLog.LogManager.GetCurrentClassLogger().Error($"{e}"); return(new Result() { Msg = e.Message }); } }