예제 #1
0
        /// <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"
            };
        }
예제 #2
0
        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;
            }
        }
예제 #3
0
 public UpdateStatement(string sql, NFinal.DB.DBType dbType)
     : base(sql, dbType)
 {
 }
예제 #4
0
 public RandomSqlAnalyse(string sql, NFinal.DB.DBType dbType)
 {
     this.sql    = sql;
     this.dbType = dbType;
 }
예제 #5
0
 public SqlInfo(string sql, NFinal.DB.DBType dbType)
 {
     this.sql    = sql;
     sqls        = sql.ToCharArray();
     this.dbType = dbType;
 }
예제 #6
0
        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);
        }
예제 #7
0
 public InsertStatement(string sql, NFinal.DB.DBType dbType)
     : base(sql, dbType)
 {
 }
예제 #8
0
 public SqlStatement(string sql, NFinal.DB.DBType dbType)
 {
     sqlInfo = new SqlInfo(sql, dbType);
 }