Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/261.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.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# 以HTML形式返回Oracle的记录集_C#_.net_Oracle_Oracle10g - Fatal编程技术网

C# 以HTML形式返回Oracle的记录集

C# 以HTML形式返回Oracle的记录集,c#,.net,oracle,oracle10g,C#,.net,Oracle,Oracle10g,我有一个Oracle数据库,需要根据我的Dot Net web应用程序中发生的事件发送电子邮件通知。电子邮件通知采用HTML格式。根据要生成的电子邮件通知,我使用了不同的模板。每个存储过程都连接到存储过程。因此,当调用事件时,我将Id传递给处理程序,它将调用存储过程。然后,我得到了HTML格式的电子邮件模板,其中的标签将被存储过程中的字段替换。然后,我搜索模板中的任何标记,并将其替换为记录集中的相应字段。电子邮件收件人被放入并以HTML格式发送。这一切都很好 但是,我现在需要在电子邮件通知中显示

我有一个Oracle数据库,需要根据我的Dot Net web应用程序中发生的事件发送电子邮件通知。电子邮件通知采用HTML格式。根据要生成的电子邮件通知,我使用了不同的模板。每个存储过程都连接到存储过程。因此,当调用事件时,我将Id传递给处理程序,它将调用存储过程。然后,我得到了HTML格式的电子邮件模板,其中的标签将被存储过程中的字段替换。然后,我搜索模板中的任何标记,并将其替换为记录集中的相应字段。电子邮件收件人被放入并以HTML格式发送。这一切都很好

但是,我现在需要在电子邮件通知中显示表中的多行。例如,图书馆里的书的细节。通过迭代记录集并为每个记录集生成新行,我可以在dotnet中获得所有行并动态构建HTML表行,但是他的方法会打破我常用的标记替换方法。 因此,我想知道我是否可以在PL SQL中构建这些多行,并将其作为一个字段返回,在这个字段中,我可以用记录集中的字段内容替换html电子邮件模板中的标记。此字段将包含所有必需记录的HTML版本。。。像桌子一样准备好了。因此,我在模板中有一个名为OVerDueBooks的标记,并将该标记替换为我记录集中的“到期”书籍上的字段。该字段将包含所有html格式的过期图书记录,因此我只需将标记替换为内容


谢谢Mick,数据量是多少?只要收集的长度不超过4000字节,就不难

搜索STRAGG以了解将VARCHAR2集合聚合到一行的各种机制

剩下的应该是
选择“|| |…”的问题

查看UTL_URL.ESCAPE以清除任何可能干扰HTML的字符。

谢谢Gary

我在EE上从Sliqhtwv那里得到了这个小宝石,它的效果非常棒。谢谢你的帮助。。非常感谢

来自Sliqhtwv:

drop table tab1 purge;
create table tab1(col1 char(1), col2 char(1), col3 char(1));

insert into tab1 values('a','1','A');
insert into tab1 values('b','2','B');
insert into tab1 values('c','2','C');
commit;

select xmlagg(xmlelement("TR",
    xmlforest(col1 as "TD",col2 as "TD",col3 as "TD"))).getclobval()
from tab1

谢谢你,加里。。我去看看。我想知道dbms_xmlgen是否有某种HTML版本,生成XML版本,还是如您所建议的那样,必须在存储过程中手工雕刻