public DbService(string tableName, string connString) {//构造函数只生成脚本模板 //获取连接 if (!(connString.Contains("database") || connString.Contains("Source="))) { //throw new NotImplementedInCoreException("必须传入完整的连接串"); connString = DbUtility.ConnString(connString.TrimString()); //ConfigurationManager.ConnectionStrings[connString.TrimString()].ConnectionString; } _connString = connString; _table = new Table(tableName, connString); //所有列 var insertValueList = _table.ColumnNames.Select(a => "'#" + a + "'").ToList(); var updateNameList = _table.ColumnNames.Select(a => a + "='#" + a + "'").ToList(); _deleteRollBackSql = _insertSql = string.Format("insert into {0} ({1}) VALUES ({2})", tableName, _table.ColumnNames.PackString(','), insertValueList.PackString(',')); _insertRollBackSql = _deleteSql = string.Format("delete from {0} where {1} = '#{1}'", tableName, _table.PrimaryKey); _updateSql = _updateRollBackSql = string.Format("UPDATE {0} SET {1} WHERE {2} = '#{2}'", tableName, updateNameList.PackString(','), _table.PrimaryKey); _querySql = string.Format("select {0} from {1}", _table.ColumnNamesWithTableName.PackString(','), tableName); _findSql = string.Format("{0} where {1} = '#{1}'", _querySql, _table.PrimaryKey); }
public static void InitConnection(this DbContextOptionsBuilder optionsBuilder, string dbName = "") { switch (Setting.DbClientType) { case ClientType.MySql: optionsBuilder.UseMySQL(DbUtility.ConnString(dbName)); break; case ClientType.SqlSever: optionsBuilder.UseSqlServer(DbUtility.ConnString(dbName)); break; case ClientType.Oracle: throw new NotSupportedException(); //optionsBuilder.UseOracle(DbUtility.ConnString(dbName)); break; default: throw new NotSupportedException(); } }
private List <List <string> > _dbDataSource(ReportModel report, string parms, string dbConnStringKey, int pageIndex, int perCount) { var sql = ""; var sql2Count = ""; try { sql = string.Format(report.SqlStr, // FormatString( parms.UnPackString(';').ToArray <object>() // ) ); var sqls = Query_Template(sql, pageIndex, perCount, _filterScript); _finalSql = sqls[0]; sql2Count = sqls[1]; } catch (Exception ex) { throw new SqlErrorException("请检查parms个数和Sql中预留参数个数是否相同!\n" + ex.Message); } var connStr = DbUtility.ConnString(dbConnStringKey); List <List <string> > dataRows; try { dataRows = _finalSql.ExecuteReader(connStr); _totalCount = int.Parse(sql2Count.ExecuteReader(connStr)[0][0]); } catch (Exception ex) { throw new DataBaseNotFoundException("读取数据库" + dbConnStringKey + "时出现异常:" + ex.Message); } //删除第一列 dataRows = dataRows.RemoveCol(0); return(dataRows); }