/// <summary> /// 数据库信息类 /// </summary> /// <param name="conStr">连接字符串</param> /// <param name="typeLinkFileName">数据库所对应的相关类型</param> /// <param name="csTypeLinkFileName">csharp所对应的相关类型</param> public DataUtility(string conStr, NFinal.DB.DBType dbType) { this.conStr = conStr; this.dbType = dbType; TypeTable typeTable = new TypeTable(this.dbType); this.typeDic = typeTable.GetTypeLinks(); CsTypeTable table = new CsTypeTable(this.dbType); this.csTypeDic = table.GetCsTypeTableDic(); //.net关键字列表 keywordsCs = new string[] { "abstract", "event", "new", "struct", "as", "explicit", "null", "switch", "base", "extern", "object", "this", "bool", "false", "operator", "throw", "break", "finally", "out", "true", "byte", "fixed", "override", "try", "case", "float", "params", "typeof", "catch", "for", "private", "uint", "char", "foreach", "protected", "ulong", "checked", "goto", "public", "unchecked", "class", "if", "readonly", "unsafe", "const", "implicit", "ref", "ushort", "continue", "in", "return", "using", "decimal", "int", "sbyte", "virtual", "default", "interface", "sealed", "volatile", "delegate", "internal", "short", "void", "do", "is", "sizeof", "while", "double", "lock", "stackalloc", "else", "long", "static", "enum", "namespace", "string" }; //javascript关键字列表 keywordsJs = new string[] { "break", "case", "catch", "continue", "debugger", "default", "delete", "do", "else", "false", "finally", "for", "function", "if", "in", "instanceof", "new", "null", "return", "switch", "this", "throw", "true", "try", "typeof", "var", "void", "while", "with", "abstract", "boolean", "byte", "char", "class", "const", "double", "enum", "export", "extends", "final", "float", "goto", "implements", "import", "int", "interface", "long", "native", "package", "private", "protected", "public", "short", "static", "super", "synchronized", "throws", "transient", "volatile", "arguments", "let", "yield" }; }
public TypeTable(NFinal.DB.DBType dbType) { switch (dbType) { case DBType.MySql: fileName = "/NFinal/SqlTemplate/mysql.txt"; break; case DBType.Sqlite: fileName = "/NFinal/SqlTemplate/sqlite.txt"; break; case DBType.SqlServer: fileName = "/NFinal/SqlTemplate/sqlserver.txt"; break; case DBType.Oracle: fileName = "/NFinal/SqlTemplate/oracle.txt"; break; default: fileName = "/NFinal/SqlTemplate/sqlserver.txt"; break; } }
public UpdateStatement(string sql, NFinal.DB.DBType dbType) : base(sql, dbType) { }
public RandomSqlAnalyse(string sql, NFinal.DB.DBType dbType) { this.sql = sql; this.dbType = dbType; }
public SqlInfo(string sql, NFinal.DB.DBType dbType) { this.sql = sql; sqls = sql.ToCharArray(); this.dbType = dbType; }
public string GetSql(string pageSql, string countSql, int pageIndex, int pageSize, int totalSize, NFinal.DB.DBType dbType) { int pageCount = (totalSize % pageSize == 0)?totalSize / pageSize:totalSize / pageSize + 1; if (pageIndex > pageCount) { pageIndex = pageCount; } if (pageIndex < 1) { pageIndex = 1; } if (dbType == NFinal.DB.DBType.SqlServer) { pageSql = string.Format(pageSql, pageIndex * pageSize, (pageIndex - 1) * pageSize); } else if (dbType == NFinal.DB.DBType.MySql) { pageSql = string.Format(pageSql, (pageIndex - 1) * pageSize, pageSize); } else if (dbType == NFinal.DB.DBType.Sqlite) { pageSql = string.Format(pageSql, pageSize, (pageIndex - 1) * pageSize); } return(pageSql); }
public InsertStatement(string sql, NFinal.DB.DBType dbType) : base(sql, dbType) { }
public SqlStatement(string sql, NFinal.DB.DBType dbType) { sqlInfo = new SqlInfo(sql, dbType); }