/// <summary> /// 获取标准SQL字符串 /// </summary> /// <param name="tp"></param> /// <param name="multiTable"></param> /// <returns></returns> public string ToSqlString(dpz3.db.DatabaseTypes tp, bool multiTable = false) { switch (tp) { case DatabaseTypes.Microsoft_Office_Access: case DatabaseTypes.Microsoft_Office_Access_v12: case DatabaseTypes.Microsoft_SQL_Server: case DatabaseTypes.SQLite: case DatabaseTypes.SQLite_3: return($"[{_name}]"); case DatabaseTypes.MySQL: return($"`{_name}`"); case DatabaseTypes.PostgreSQL: return($"\"{_name}\""); default: throw new Exception($"尚未支持 {tp.ToString()} 类型数据库"); } }
/// <summary> /// 获取标准字段SQL字符串 /// </summary> /// <param name="tp"></param> /// <param name="multiTable"></param> /// <returns></returns> public string ToSqlString(dpz3.db.DatabaseTypes tp, bool multiTable = false) { // 当表不存在时,强制设置未单表模式 if (_table == null) { multiTable = false; } // 判断是否为多表环境 if (multiTable) { // 获取表SQL string table = _table.ToSqlString(tp); if (_name == "*") { return($"{table}.*"); } switch (tp) { case DatabaseTypes.Microsoft_Office_Access: case DatabaseTypes.Microsoft_Office_Access_v12: case DatabaseTypes.Microsoft_SQL_Server: case DatabaseTypes.SQLite: case DatabaseTypes.SQLite_3: return($"{table}.[{_name}]"); case DatabaseTypes.MySQL: return($"{table}.`{_name}`"); case DatabaseTypes.PostgreSQL: return($"{table}.\"{_name}\""); default: throw new Exception($"尚未支持 {tp.ToString()} 类型数据库"); } } else { if (_name == "*") { return("*"); } switch (tp) { case DatabaseTypes.Microsoft_Office_Access: case DatabaseTypes.Microsoft_Office_Access_v12: case DatabaseTypes.Microsoft_SQL_Server: case DatabaseTypes.SQLite: case DatabaseTypes.SQLite_3: return($"[{_name}]"); case DatabaseTypes.MySQL: return($"`{_name}`"); case DatabaseTypes.PostgreSQL: return($"\"{_name}\""); default: throw new Exception($"尚未支持 {tp.ToString()} 类型数据库"); } } }