必须添加此消息的 us_english 版本后,才能添加 '简体中文' 版本。

本文介绍如何在SQL Server中使用sp_addmessage过程添加错误信息,并强调了必须首先添加英文错误信息的要求。同时提供了添加简体中文错误信息的具体示例。

SQL server 在调用sp_addmessage 时 有一个参数@lang是用来指明所需要加入的message的语种的,如果没有指定,则认为是语言是会话的默认语言,如果你安装的是中文版,则一般是中文,而SQL server有强制必须先增加英文的错误信息之后才能增加中文的错误信息,所以必须现增加英文版的错误信息。然后再增加本地语种的错误信息。

如果你不知道到底安装了那些语种的字符集,可以到master数据库下的系统表syslanguages去查找。

例如你想加入简体中文版的错误信息,你需要这么做:

EXEC sp_addmessage 50021, 10, 'Member number not found.','us_english',false,replace
EXEC sp_addmessage 50021, 10, '员工代码没有找到','简体中文',false,replace

使用sp_dropmessag删除sysmessages表中添加的信息。直接delete删除不掉

以上转自http://unusa.spaces.live.com/default.aspx

修改:;PEP 8: E302 expected 2 blank lines, found 1 代码# ui_config.py # 用户界面配置管理模块 import json import logging import sys from pathlib import Path from typing import Dict, Any, Optional, List # 设置日志 logger = logging.getLogger(__name__) UI_CONFIG = { "theme": "dark", "language": "zh-CN", "font_size": 14 } class UIConfig: """用户界面配置管理类""" # 主题配置 THEMES = { "dark": { "name": "深色主题", "background": "#2b2b2b", "foreground": "#ffffff", "accent": "#007acc", "secondary": "#3c3c3c", "text": "#e0e0e0", "success": "#4caf50", "warning": "#ff9800", "error": "#f44336" }, "light": { "name": "浅色主题", "background": "#f5f5f5", "foreground": "#2b2b2b", "accent": "#2196f3", "secondary": "#e0e0e0", "text": "#212121", "success": "#4caf50", "warning": "#ff9800", "error": "#f44336" }, "blue": { "name": "蓝色主题", "background": "#1e3a5f", "foreground": "#ffffff", "accent": "#4fc3f7", "secondary": "#2c4d75", "text": "#e3f2fd", "success": "#81c784", "warning": "#ffb74d", "error": "#e57373" } } # 语言配置 LANGUAGES = { "zh-CN": "简体中文", "zh-TW": "繁體中文", "en-US": "English" } # 模块ID常量(直接从global_config.py制过来) MODULE1_ID = "input_analysis" MODULE2_ID = "combination_analysis" MODULE3_ID = "follow_analysis_engine" MODULE4_ID = "trend_analysis" MODULE5_ID = "number_generation" # 默认UI配置 DEFAULT_CONFIG = { "theme": "dark", "language": "zh-CN", "font_size": 12, "font_family": "Microsoft YaHei", "window_width": 1200, "window_height": 800, "show_status_bar": True, "show_tool_bar": True, "recent_files": [], "auto_save_interval": 5, # 分钟 "confirm_exit": True, "max_recent_files": 10, "module_order": [ MODULE1_ID, MODULE2_ID, MODULE3_ID, MODULE4_ID, MODULE5_ID ], "module_visibility": { MODULE1_ID: True, MODULE2_ID: True, MODULE3_ID: True, MODULE4_ID: True, MODULE5_ID: True } } _instance = None def __init__(self): self._initialized = False self._config = None self._config_path = None @classmethod def get_instance(cls): """获取单例实例""" if cls._instance is None: cls._instance = UIConfig() return cls._instance def initialize(self, config_path: Optional[str] = None): """初始化UI配置""" if self._initialized: return True if config_path is None: # 使用项目根目录 base_dir = Path(__file__).parent.parent self._config_path = base_dir / "config" / "ui_config.json" else: self._config_path = Path(config_path) # 确保配置目录存在 self._config_path.parent.mkdir(parents=True, exist_ok=True) # 加载配置 self._load_config() self._initialized = True logger.info(f"✅ UI配置已初始化: {self._config_path}") return True def _load_config(self): """加载配置文件""" try: if self._config_path.exists(): with open(self._config_path, 'r', encoding='utf-8') as f: self._config = json.load(f) logger.info(f"✅ 已加载UI配置: {self._config_path}") else: self._config = self.DEFAULT_CONFIG.copy() self._save_config() logger.info(f"✅ 已创建默认UI配置: {self._config_path}") except Exception as e: logger.error(f"❌ 加载UI配置失败: {e}") self._config = self.DEFAULT_CONFIG.copy() def _save_config(self): """保存配置到文件""" try: with open(self._config_path, 'w', encoding='utf-8') as f: json.dump(self._config, f, indent=2, ensure_ascii=False) return True except Exception as e: logger.error(f"❌ 保存UI配置失败: {e}") return False def get(self, key: str, default=None): """获取配置值""" if not self._initialized: self.initialize() return self._config.get(key, default) def set(self, key: str, value: Any, save: bool = True): """设置配置值""" if not self._initialized: self.initialize() self._config[key] = value if save: return self._save_config() return True def update(self, updates: Dict[str, Any], save: bool = True): """批量更新配置""" if not self._initialized: self.initialize() self._config.update(updates) if save: return self._save_config() return True def add_recent_file(self, file_path: str): """添加最近使用的文件""" if not self._initialized: self.initialize() recent_files = self.get("recent_files", []) # 移除已存在的相同路径 if file_path in recent_files: recent_files.remove(file_path) # 添加到开头 recent_files.insert(0, file_path) # 限制最大数量 max_files = self.get("max_recent_files", 10) if len(recent_files) > max_files: recent_files = recent_files[:max_files] return self.set("recent_files", recent_files) def get_theme_config(self, theme_name: Optional[str] = None) -> Dict[str, str]: """获取主题配置""" if theme_name is None: theme_name = self.get("theme", "dark") return self.THEMES.get(theme_name, self.THEMES["dark"]) def get_current_theme(self) -> Dict[str, str]: """获取当前主题配置""" return self.get_theme_config() def get_module_visibility(self, module_id: str) -> bool: """获取模块可见性""" visibility = self.get("module_visibility", {}) return visibility.get(module_id, True) def set_module_visibility(self, module_id: str, visible: bool) -> bool: """设置模块可见性""" visibility = self.get("module_visibility", {}) visibility[module_id] = visible return self.set("module_visibility", visibility) def get_module_order(self) -> List[str]: """获取模块顺序""" return self.get("module_order", []) def set_module_order(self, order: List[str]) -> bool: """设置模块顺序""" return self.set("module_order", order) @staticmethod def get_base_dir() -> Path: """获取项目根目录""" return Path(__file__).parent.parent # 全局UI配置实例 ui_config = UIConfig.get_instance() # 便捷函数 def get_ui_config() -> UIConfig: """获取UI配置实例""" return UIConfig.get_instance() def init_ui_config(config_path: Optional[str] = None) -> bool: """初始化UI配置""" return UIConfig.get_instance().initialize(config_path) def get_theme_config(theme_name: Optional[str] = None) -> Dict[str, str]: """获取主题配置""" return UIConfig.get_instance().get_theme_config(theme_name) if __name__ == "__main__": # 测试代码 init_ui_config() config = get_ui_config() print("当前主题:", config.get("theme")) print("字体大小:", config.get("font_size")) print("深色主题配置:", config.get_theme_config("dark"))
09-04
修改生成完整代码::已重新声明上文定义的无用法的 'get_ui_config',访问类的 protected 成员 _config。代码# core/ui_config.py # 用户界面配置管理模块 import json import logging from pathlib import Path from typing import Dict, Any, Optional, List # 设置日志 logger = logging.getLogger(__name__) # 主题配置 THEMES = { "dark": { "name": "深色主题", "background": "#2b2b2b", "foreground": "#ffffff", "accent": "#007acc", "secondary": "#3c3c3c", "text": "#e0e0e0", "success": "#4caf50", "warning": "#ff9800", "error": "#f44336" }, "light": { "name": "浅色主题", "background": "#f5f5f5", "foreground": "#2b2b2b", "accent": "#2196f3", "secondary": "#e0e0e0", "text": "#212121", "success": "#4caf50", "warning": "#ff9800", "error": "#f44336" }, "blue": { "name": "蓝色主题", "background": "#1e3a5f", "foreground": "#ffffff", "accent": "#4fc3f7", "secondary": "#2c4d75", "text": "#e3f2fd", "success": "#81c784", "warning": "#ffb74d", "error": "#e57373" } } # 语言配置 LANGUAGES = { "zh-CN": "简体中文", "zh-TW": "繁體中文", "en-US": "English" } # 模块ID常量 MODULE1_ID = "input_analysis" MODULE2_ID = "combination_analysis" MODULE3_ID = "follow_analysis_engine" MODULE4_ID = "trend_analysis" MODULE5_ID = "number_generation" # 默认UI配置 DEFAULT_CONFIG = { "theme": "dark", "language": "zh-CN", "font_size": 12, "font_family": "Microsoft YaHei", "window_width": 1200, "window_height": 800, "show_status_bar": True, "show_tool_bar": True, "recent_files": [], "auto_save_interval": 5, "confirm_exit": True, "max_recent_files": 10, "module_order": [ MODULE1_ID, MODULE2_ID, MODULE3_ID, MODULE4_ID, MODULE5_ID ], "module_visibility": { MODULE1_ID: True, MODULE2_ID: True, MODULE3_ID: True, MODULE4_ID: True, MODULE5_ID: True } } class UIConfig: """用户界面配置管理类""" _instance = None def __init__(self): self._initialized = False self._config = None self._config_path = None @classmethod def get_instance(cls): """获取单例实例""" if cls._instance is None: cls._instance = UIConfig() return cls._instance def initialize(self, config_path: Optional[str] = None): """初始化UI配置""" if self._initialized: return True if config_path is None: base_dir = Path(__file__).parent.parent self._config_path = base_dir / "config" / "ui_config.json" else: self._config_path = Path(config_path) self._config_path.parent.mkdir(parents=True, exist_ok=True) self._load_config() self._initialized = True logger.info(f"✅ UI配置已初始化: {self._config_path}") return True def _load_config(self): """加载配置文件""" try: if self._config_path.exists(): with open(self._config_path, 'r', encoding='utf-8') as f: self._config = json.load(f) logger.info(f"✅ 已加载UI配置: {self._config_path}") else: self._config = DEFAULT_CONFIG.copy() self._save_config() logger.info(f"✅ 已创建默认UI配置: {self._config_path}") except Exception as e: logger.error(f"❌ 加载UI配置失败: {e}") self._config = DEFAULT_CONFIG.copy() def _save_config(self): """保存配置到文件""" try: with open(self._config_path, 'w', encoding='utf-8') as f: json.dump(self._config, f, indent=2, ensure_ascii=False) return True except Exception as e: logger.error(f"❌ 保存UI配置失败: {e}") return False def get(self, key: str, default=None): """获取配置值""" if not self._initialized: self.initialize() return self._config.get(key, default) def set(self, key: str, value: Any, save: bool = True): """设置配置值""" if not self._initialized: self.initialize() self._config[key] = value if save: return self._save_config() return True def update(self, updates: Dict[str, Any], save: bool = True): """批量更新配置""" if not self._initialized: self.initialize() self._config.update(updates) if save: return self._save_config() return True def add_recent_file(self, file_path: str): """添加最近使用的文件""" if not self._initialized: self.initialize() recent_files = self.get("recent_files", []) if file_path in recent_files: recent_files.remove(file_path) recent_files.insert(0, file_path) max_files = self.get("max_recent_files", 10) if len(recent_files) > max_files: recent_files = recent_files[:max_files] return self.set("recent_files", recent_files) def get_theme_config(self, theme_name: Optional[str] = None) -> Dict[str, str]: """获取主题配置""" if theme_name is None: theme_name = self.get("theme", "dark") return THEMES.get(theme_name, THEMES["dark"]) def get_current_theme(self) -> Dict[str, str]: """获取当前主题配置""" return self.get_theme_config() def get_module_visibility(self, module_id: str) -> bool: """获取模块可见性""" visibility = self.get("module_visibility", {}) return visibility.get(module_id, True) def set_module_visibility(self, module_id: str, visible: bool) -> bool: """设置模块可见性""" visibility = self.get("module_visibility", {}) visibility[module_id] = visible return self.set("module_visibility", visibility) def get_module_order(self) -> List[str]: """获取模块顺序""" return self.get("module_order", []) def set_module_order(self, order: List[str]) -> bool: """设置模块顺序""" return self.set("module_order", order) @staticmethod def get_base_dir() -> Path: """获取项目根目录""" return Path(__file__).parent.parent def get_ui_config(): """获取UI配置字典""" instance = UIConfig.get_instance() return instance._config # 全局UI配置实例 ui_config = UIConfig.get_instance() # 便捷函数 def get_ui_config() -> UIConfig: """获取UI配置实例""" return UIConfig.get_instance() def init_ui_config(config_path: Optional[str] = None) -> bool: """初始化UI配置""" return UIConfig.get_instance().initialize(config_path) def get_theme_config(theme_name: Optional[str] = None) -> Dict[str, str]: """获取主题配置""" return UIConfig.get_instance().get_theme_config(theme_name) if __name__ == "__main__": init_ui_config() config = get_ui_config() print("当前主题:", config.get("theme")) print("字体大小:", config.get("font_size")) print("深色主题配置:", config.get_theme_config("dark"))
最新发布
09-05
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值