Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/274.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Sql Server中如何用动态查询结果匹配和替换电子邮件模板_C#_Sql_Sql Server_Tsql_Str Replace - Fatal编程技术网

C# Sql Server中如何用动态查询结果匹配和替换电子邮件模板

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代码中

我们正在开发电子邮件信息系统,我们的电子邮件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方法来处理这个问题。