国产化之路 Linux Mono下的asp.net 开发笔记(三)

2024-06-20 13:34:22 浏览数 (3)

(一)web.config下 system.web节下的 <httpRuntime requestValidationMode="2.0" /> 在mono下很重要,适合以下情节:

       (1)重写存储机制 protected override PageStatePersister PageStatePersister

       (2)取消页面非法字符验证 validateRequest="false"

  (二)  传递达梦存储过程参数时,如果参数名与字段名一致,则请使用参数名的所属域(即存储过程名),如下示例:

        CREATE  or  REPLACE PROCEDURE   "PNAME"    (

"cid"  IN  nvarchar(36)   AS BEGIN

PNAME为你的存储过程名,cid 为输入的参数

则可以写成   if  exists(select cid from table where cid=PNAME.cid) then  ....

其中蓝色部分为字段名,红色部分为参数域加参数名

(三)达梦存储过程的 sql%rowcount 等价于 sql server 的 @@rowcount

  (四)   创建达梦参数,参数名可以不用加 “:”号 

           new DmParameter("pname", _pvalue) 等同于 new DmParameter(":pname", _pvalue)

           SQL SERVER 的 “@” 亦同理

(五)MaintainScrollPositionOnPostback="true"  滚动记忆属性可增加JS调用服务器点击事件,javascript 可直接写如下代码调用:  

            __doPostBack('name', '');   注意不要是元素的ID,而是NAME属性

(六)达梦获得 DataReader  C# 要用一次类型转换,否则会转换报错。

                DmConnection Conn = new DmConnection(strConn);                 DmCommand Cmd = new DmCommand();                 Cmd.Connection = Conn;

                Cmd.CommandText = _sql;                 Conn.Open();

                DmDataReader myDr = Cmd.ExecuteReader() as DmDataReader;

SQL SERVER 或 ORACLE 则不需要这种写法。

待续......欢迎大家评论指正

1 人点赞