C# Sql Server中如何用动态查询结果匹配和替换电子邮件模板
我们正在开发电子邮件信息系统,我们的电子邮件html模板保存在数据库列中 i、 e 你好,用户{0} 同一行中的另一列具有与此模板相关的动态sql i、 e 从userTbl中选择用户名为“To”,其中userid=@userid 我想写一个可以 -阅读动态sql -执行它并将结果存储在临时表的某个位置 -然后获取html模板字符串并进行匹配和替换 来自带有html模板的sql语句的结果 最终结果应该是 你好用户用户名 我的问题是如何存储动态sql值?我是否应该在sql中执行此操作,并在c代码中加载所有内容,并通过字符串生成器执行搜索和替换C# Sql Server中如何用动态查询结果匹配和替换电子邮件模板,c#,sql,sql-server,tsql,str-replace,C#,Sql,Sql Server,Tsql,Str Replace,我们正在开发电子邮件信息系统,我们的电子邮件html模板保存在数据库列中 i、 e 你好,用户{0} 同一行中的另一列具有与此模板相关的动态sql i、 e 从userTbl中选择用户名为“To”,其中userid=@userid 我想写一个可以 -阅读动态sql -执行它并将结果存储在临时表的某个位置 -然后获取html模板字符串并进行匹配和替换 来自带有html模板的sql语句的结果 最终结果应该是 你好用户用户名 我的问题是如何存储动态sql值?我是否应该在sql中执行此操作,并在c代码中
有什么想法或建议吗?不要在数据库中这样做。这只是自找麻烦。将数据留在数据库中,在应用程序中执行BL。注释:无论你做什么,都要考虑目标:如果目标是HTMLYES目标是HTML,则搜索和替换将需要HTML,这是针对电子邮件主体的。感谢为字符串搜索替换和HTML转义提供的信息,使用C中提供的实用程序将更容易。您可以在存储过程中执行动态SQL…这就是我最初想到的原因,但是如果其他一些C代码将调用此过程,那么它们将必须实现相同的逻辑…如果我在SQL中执行此操作,则可以从任何位置调用它…要执行动态SQL,我应该如何将SQL数据…存储在临时表中,然后循环执行搜索替换?这就是DAL的用途-C中的其他代码应该使用参数和模板ID调用DAL,一个DAL方法将处理该问题。如果坚持在SQL中执行此操作,并且使用的是SQL 2008或更高版本,则可以创建一个用户定义的类型,该类型包含标记I'd{0}和替换值,并更新存储的过程以获取此新类型的表值参数,然后从模板中任何标记的表输入中运行存储过程中的REPLACE语句。还可以考虑CLR存储的PROC,它可以执行C方法来处理这个问题。