.net – 数据库本地化 – 查找列表 – 更智能的方式
我想在数据库中添加一些查找列表,但我希望它们易于本地化(SQL 2005,ADO.NET) 这将包括: >轻松管理多种语言 我正在考虑使用一个表来存储多语言查找列表(使用不同语言使用相同的id)并使用一个函数来返回查找列表的值 – 通过接收ID和语言. 其中一个缺陷是我必须为使用查找列表的每个查询手动添加语言参数. 我正在研究一种解决方案,它允许我将参数作为“会话/全局变量”发送,或者通过sql查询自动发送参数,以及自行检索它的函数(要么自动附加参数),要么能够读取参数). 解决方案可能看起来像这样,但我不介意它是否不同,只要它没有明确地将参数提供给Query(伪代码):
澄清: >通常查询看起来像这样(记得使用查找功能): SELECT ..,GetLookupList1(lookup_ID,language),.. FROM TABLE GetLookupList1是用户定义的函数,用于检索查找表的查找值.通过使用此函数,SQL代码更易于阅读和维护. 该函数的主体将是这样的: SELECT @result = LookupValue FROM LookupTable1 WHERE ID=@Lookup_ID and Language=@lang RETURN @result >我想要的是能够将语言参数从函数中删除到某种静态变量,仅适用于当前的连接/语句/命令,因此查询看起来像 SELECT ..,GetLookupList1(lookup_ID),.. FROM TABLE 解决方法如果您构建数据如下:MessageToken DisplayText LangCode firewood Fire wood en firewood Bois de chauffage fr 进行查询时,只提供默认的languageId(如果为空)或提供的languageId.使用标准的标记列表来显示消息. Select DisplayText from (some table) where MessageToken = 'firewood' and LangId = 'en' (编辑:应用网_常德站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 在SQL Server 2008中使用OPENXML存储过程 – INSERT命令与X
- sql-server – 如何在SQl Server 2008中选择distinct,但仅限
- sql – ORA-00904解码别名上的无效标识符
- sql – regex_substr中的connect by子句
- sqlserver 存储过程动态参数调用实现代码
- sql-server – 如何在SQL Server中为存储过程设置超时
- sql-server – 为聚合使用索引视图 – 太好了,不是真的吗?
- 对于teradata数据库,Hibernate @formula不支持将Cast()作为
- 如何从linq查询中查看生成的sql
- SQL Server 2005:从最后开始的charindex