??xml version="1.0" encoding="utf-8" standalone="yes"?>久久久久亚洲AV无码专区网站,久久久久无码精品亚洲日韩,亚洲一级毛片免费看http://www.tkk7.com/SIDNEY/category/13413.htmlzh-cnSun, 02 Jan 2011 22:42:25 GMTSun, 02 Jan 2011 22:42:25 GMT60解析plugin-cfg.xml文ghttp://www.tkk7.com/SIDNEY/archive/2010/12/31/342103.html渠上?/dc:creator>渠上?/author>Fri, 31 Dec 2010 14:47:00 GMThttp://www.tkk7.com/SIDNEY/archive/2010/12/31/342103.htmlhttp://www.tkk7.com/SIDNEY/comments/342103.htmlhttp://www.tkk7.com/SIDNEY/archive/2010/12/31/342103.html#Feedback0http://www.tkk7.com/SIDNEY/comments/commentRss/342103.htmlhttp://www.tkk7.com/SIDNEY/services/trackbacks/342103.html阅读全文

]]>
cognos 安装文http://www.tkk7.com/SIDNEY/archive/2009/09/02/293612.html渠上?/dc:creator>渠上?/author>Wed, 02 Sep 2009 08:21:00 GMThttp://www.tkk7.com/SIDNEY/archive/2009/09/02/293612.htmlhttp://www.tkk7.com/SIDNEY/comments/293612.htmlhttp://www.tkk7.com/SIDNEY/archive/2009/09/02/293612.html#Feedback0http://www.tkk7.com/SIDNEY/comments/commentRss/293612.htmlhttp://www.tkk7.com/SIDNEY/services/trackbacks/293612.html本节主要介绍Cognospȝ的安装,按照本手册的具体步骤安装Q如果没有分别写序号Q则是指那些lg可以一ơ安装?br /> 2Q? Netscape Directory Server的安装和配置
2Q?Q? Netscape Directory Server 4.12 的安?br /> 插入“PowerPlay Enterprise Server Supplementary Software”安装盘,q行光盘上的Netscape\Directory Server\NT\d412eiu.exe?br /> 如果在安装过E中提示域名错误Q则需要按照以下步骤纠正此错误。具体操作步骤如下:用右键单?#8220;我的电脑”Q单?#8220;属?#8221;Q单?#8220;|络标识”标签Q单?#8220;属?#8221;Q单?#8220;其它”Q添?#8220;此计机的主DNS后缀”?br /> 详见《PowerPlay Enterprise Server Installation and Configuration Guide》page 153?br /> 2Q?Q? Netscape Directory Server 的配|?br /> 插入“PowerPlay Enterprise Server”安装盘,在AutoRun的安装选择对话框中选择“Configure a Directory Server”q行安装?br /> 在Directory Servercd中,选择“Netscape 3.X/4”Q?br /> 在Directory Server配置对话框中Q输?#8220;Directory Server Computer”Q?#8220;Password”Q?#8220;Base Distinguished Name(DN)”?#8220;Organization”的信息,其余可用~省信息。其中,?#8220;Directory Server Computer”中,输入LDAP服务器(本机Q的机器名,?#8220;Base Distinguished Name(DN)”中可输入“o=gdb”Q在“Organization”中可输入“gdb”?br /> 详见《PowerPlay Enterprise Server Installation and Configuration Guide》page 60?br /> 2Q? Impromptu Web Reports 6.0的安装和配置
插入“Impromptu Web Reports”安装盘,在AutoRun的安装选择对话框中选择“Install Cognos Impromptu Web Reports”完成安装?br /> 2Q?Q? Data Store 的安?br /> 在安装方式中选择“custom”安装Q在安装lg选择对话框中选择“Data Store”q行安装Q?br /> 在创建data store存放位置的画面,单击“+”创徏一个新的共享名Q徏议在“share name”中输?#8220;iwr_db”Q在“path”中输?#8220;<drive letter>:\program files\cognos\cer1\database”?br /> 详见《Impromptu Web Reports Installation and Configuration》page 43?br /> 2Q?Q? Impromptu Web Reports Server 的安?br /> 在安装方式中选择“custom”安装Q在安装lg选择对话框中选择“Server”q行安装?br /> 详见《Impromptu Web Reports Installation and Configuration》page 46?br /> 备注Q安装过E会提示输入windowspȝ中安装此产品的用L密码。此Ӟ输入登陆windows用户密码。需要注意的是:以后如果理员更改该用户的密码后Q必M在服?#8220;理工具Q?gt;服务”中修改两Ҏ务:Cognos Communication Service (cer1)和Impromptu Web Service Manager (CER1)中的登陆用户的密码,否则服务无法启动?br /> 2Q?Q? GateWay 的安?br /> 在安装方式中选择“custom”安装Q在安装部g选择对话框中选择“GateWay”q行安装?br /> 详见《Impromptu Web Reports Installation and Configuration》page 51?br /> 2Q?Q? Impromptu Web Reports Administration、IWR Samples、IWR Online Books的安?br /> 在安装方式中选择“custom”安装Q在安装lg选择对话框中选择“IWR Administration”?#8220;IWR Samples”?#8220;IWR Online Books”q行安装?br /> 详见《Impromptu Web Reports Installation and Configuration》page 31、page 57?br /> 2Q? PowerPlay Enterprise Server 6.6的安?br /> 插入“PowerPlay Enterprise Server”安装盘,在AutoRun的安装选择对话框中选择“Install Cognos PowerPlay Enterprise Server 6.6”完成安装?br /> 2Q?Q? Access Manager Admin Tools、Access Manager Trusted Signon SDK、Common Logon Server 、Ticket Server的安?br /> 在安装方式中选择“custom”安装Q在安装lg选择对话框中选择“Access Manager Admin Tools”Q不选择“Configure a Directory Server”Q?#8220;Access Manager Trusted Signon SDK”?#8220;Common Logon Server” ?#8220;Ticket Server”q行安装?br /> 2Q?Q? 配置Access Manager Administration
按照以下步骤Q完成Access Manager Administration的配|?br /> 1) 启动Access Manager AdministrationQ?br /> 2) ?#8220;Authentication Information”面板中,单击“Directory Servers”文g夹;
3) ?#8220;Action”菜单中,单击“Add Connection”Q?br /> 4) ?#8220;General”标签中,输入“Host”?#8220;Base Distinguished Name”的内容,其余的输入项用缺省倹{在“Host”输入中输入LDAP服务器的机器名,?#8220;Base Distinguished Name”中输入LDAP服务器中的配|,例如o=gdb,c=cnQ单?#8220;Test”Q如果出?#8220;the directory server is responding”的信息,则表明测试正;
5) 单击“Runtime Credentials”标签Q在“Runtime Administrator Distinguished Name(DN)”中,输入登陆到目录服务器的用户名Q例如Directory ManagerQ在“Runtime Administrator Password”中,输入用户的密码,单击“Log On”Q再单击“Test”Q如果出?#8220;the credentials are valid”的信息,则表明测试正;
6) 单击“Ticket Server”标签Q单?#8220;Test”Q如果出?#8220;the ticket server is responding”的信息,则表明测试正?br /> 详见《Impromptu Web Reports Installation and Configuration》page 41?br /> 2Q?Q? 配置Access Manager Configuration
按照以下步骤Q完成Access Manager Configuration的配|?br /> 1) 启动Access Manager Configuration WizardQ?br /> 2) 在第一个窗口单?#8220;下一?#8221;Q?br /> 3) 单击“Custom”Q再单击“下一?#8221;Q?br /> 4) 选择“Directory Server Configuration”Q再单击“下一?#8221;Q?br /> 5) 在对话框中输入以下信息:
HostQ输入LDAP服务器的机器名字
Base Distinguished Name(DN)Q输入LDAP服务器中的配|,例如o=gdb,c=cn
假如在对话框的底部出?#8220;directory server is responding”的信息,则表明配|正;
6) 单击“下一?#8221;Q?br /> 7) 选择“(Use the Directory Server Default Namespace)”Q在单击“下一?#8221;Q?br /> 8) 选择“Directory Server”Q作为缺省的验证源,在单?#8220;下一?#8221;Q?br /> 9) 选择“Accept The Setting”Q再单击“完成”Q?br /> 10) 关闭Access Manager Configuration Wizard?br /> 详见《Impromptu Web Reports Installation and Configuration》page 49?br /> 2Q?Q? PowerPlay Enterprise Server、PowerPlay Enterprise Server Administration 的安?br /> 在安装方式中选择“custom”安装Q在安装lg选择对话框中选择“PowerPlay Enterprise Server”?#8220;PowerPlay Enterprise Server Administration”q行安装?/p>

2Q?Q? 配置Web Server
建立Web Server ?#8220;cognos”?#8220;cognos/cgi-bin”?#8220;cognos/help”?#8220;cognos/ppwb” 4个虚拟目录,一般情况下Q?#8220;cognos”?#8220;cognos/cgi-bin”?#8220;cognos/help”q?个虚拟目录已l在安装q程中徏立,实际上,pȝ理员只需要手工徏?#8220;cognos/ppwb”q个虚拟目录?br /> 建立“cognos/ppwb”虚拟目录的步骤如下:
1) 在Windows 2000中,单击“开?#8221;?#8220;讄”?#8220;控制面板”Q双?#8220;理工具”Q双?#8220;Internet服务理?#8221;Q?br /> 2) 在左辚w板中Q展开“Internet信息服务”Q再展开以本服务器的机器名ؓ名字的文件夹Q?br /> 3) 展开“默认web站点”Q再展开“cognos”文g夹;
4) 用右键单?#8220;cognos”Q单?#8220;新徏”Q再单击“虚拟目录”Q?br /> 5) 单击“下一?#8221;Q?br /> 6) 输入虚拟目录别名“ppwb”Q单?#8220;下一?#8221;Q?br /> 7) 在目录中输入“<driver letter>:\program files\cognos\cer1\webcontent\ppwb”Q单?#8220;下一?#8221;Q?br /> 8) 只选取“d”权限Q单?#8220;下一?#8221;Q?br /> 9) 单击“完成”?br /> 其余三个虚拟目录的设|列表如下:
虚拟目录别名 目录 权限
cognos \program files\cognos\cer1\webcontent ?br /> cognos/cgi-bin \program files\cognos\cer1\cgi-bin 执行
cognos/help \program files\cognos\cer1\documentation\html ?br /> 详见《PowerPlay Enterprise Server Installation and Configuration Guide》page 110?br /> 2Q?Q? Upfront、Upfront Server Administration 的安?br /> 在安装方式中选择“custom”安装Q在安装lg选择对话框中选择“Upfront”?#8220;Upfront Server Administration”q行安装?br /> 2Q? mpromptu 6.0 Admin Edtion的安?br /> 插入“Impromptu 6.0 Administrator Edition”的安装盘Q在AutoRun的安装选择对话框中选择“Install Impromptu 6.0 Administrator Edition”完成安装?br /> Impromptu Administratior、User Define Functions、PowerPrompts 的安?br /> 在安装方式中选择“custom”安装Q在安装lg选择对话框中选择“Impromptu Administrator”?#8220;User Define Functions”?#8220;PowerPrompts”q行安装?br /> 2Q? Cognos Distribute Shuttle Builder的安?br /> 插入“Impromptu 6.0 Administrator Edition”的安装盘Q在AutoRun的安装选择对话框中选择“Cognos Distribute Shuttle Builder”q行安装?br /> 详见《Impromptu Web Reports Installation and Configuration》page 23?br /> 2Q? PowerPlay Transformer Server 6.61的安?br /> 插入“PowerPlay Transformer Server 6.6”的安装盘Q在AutoRun的安装选择对话框中选择“PowerPlay Transformer Server 6.61”q行安装?br /> 在安装方式中选择“custom”安装Q在安装lg对话框中选择“PowerPlay for Windows”?#8220;PowerPlay for Excle、PowerPlay Transformer”?#8220;Schedule”?#8220;CognosScript Editor”q行安装?br /> 2Q? Adobe Acrobat Reader 的安?/p>

2Q?Q? Adobe Acrobat Reader 4.05的安?br /> 插入“Impromptu Web Reports”的安装盘Q运行光盘中?#8220;\Adobe\ar405eng.exe”?br /> 详见《Impromptu Web Reports Installation and Configuration》page 24?/p>

2Q?Q? Adobe Acrobat Reader 体汉字的安装
插入“Impromptu Web Reports”的安装盘Q运行光盘中?#8220;\Adobe\chsfont.exe”?br /> 2Q? ȀzImpromptu Web Reports 的Report Server
启动Server AdministrationQ展开“Report Servers”Q单击要Ȁzȝ服务器,?#8220;Actions”菜单中选择“Enable”Q激zȝ应的 Report Server?br /> 2Q? 在Upfront中添加server
启动Upfront Server AdministrationQ从“Server”菜单中选择“Add Server”Q输入服务器的名字,单击“ok”?/p>


本文来自CSDN博客Q{载请标明出处Qhttp://blog.csdn.net/s_sword/archive/2007/05/18/1614796.aspx



]]>
在Repeater控g中用if语句(参?http://www.tkk7.com/SIDNEY/archive/2008/09/24/230855.html渠上?/dc:creator>渠上?/author>Wed, 24 Sep 2008 05:08:00 GMThttp://www.tkk7.com/SIDNEY/archive/2008/09/24/230855.htmlhttp://www.tkk7.com/SIDNEY/comments/230855.htmlhttp://www.tkk7.com/SIDNEY/archive/2008/09/24/230855.html#Feedback0http://www.tkk7.com/SIDNEY/comments/commentRss/230855.htmlhttp://www.tkk7.com/SIDNEY/services/trackbacks/230855.html    
  BBS_Topic的数据表l构定义cM下面q样Q? 
   
  TABLE   BBS_Topic  
  (  
  Title NVARCHAR(40),  
  Author NVARCHAR(20),  
  PostDate DATETIME   NOT   NULL   DEFAULT   GETDATE(),  
  Content NTEXT,  
  Clicked INT   NOT   NULL   DEFAULT   0,  
  ReCount INT   NOT   NULL   DEFAULT   0,  
  LastReplyer NVARCHAR(20)  
  )  
   
  下面是ListTopic.aspx文g中的部分内容Q? 
   
  <asp:Repeater   ID="_TopicRepeater"   Runat="SERVER"   DataSource="...">  
  <ItemTemplate>  
  <%#   DataBinder.Eval(Container.DataItem,   "Title")   %>  
  <%#   DataBinder.Eval(Container.DataItem,   "Author")   %>  
  <%#   DataBinder.Eval(Container.DataItem,   "Clicked")   %>  
  <%#   DataBinder.Eval(Container.DataItem,   "ReCount")   %>  
   
  <!--   注意下面的if语句   -->  
  <%   if((int)(DataBinder.Eval(Container.DataItem,   "ReCount"))==0){   %>  
  ----  
  <%   }   else   {   %>  
  <%#   DataBinder.Eval(Container.DataItem,   "LastReplyer")   %>  
  <%   }   %>  
   
  </ItemTemplate>  
  </asp:Repeater>  
   
  使用if语句的目的,是在于:判断当前帖子的回复次Cؓ0Ӟ将LastReplyerq项昄?#8220;----”  
   
  而当前的帖子的回复次C?Ӟ则显C回复h的名? 
   
  但是Q这L做法是行不通的。在IE中会出现cM的警?#8220;没有引用ContainerQ用using引用...”  
   
  至于Z么这P可能是因为DataBinder.Eval和Container.DataItem同属Repeatercȝ成员的缘故? 
   
  “<%#   %>”是“作用”在Repeater上,但是if语句则不同,它是“作用”在整个页面上? 
   
  当然Q用cM下面Q三目运)的语句也可以实现上述功能Q? 
   
  <%#   ((int)(DataBinder.Eval(Container.DataItem,   "ReCount"))==0)   ?   "--"  
  :   DataBinder.Eval(Container.DataItem,   "LastReplyer")   %>  
   
  可问题是Q对于复杂的判断处理Q这L做法q当困难了? 
   
  那么   <%#   if   ...   else   ...   %>   q样的又用法Z么也不行呢?  
   
  因ؓ   <%#   %>   惛_?  <%=   %>Q?  <%=   %>   是   Response.Write()Q那么上面的判断显得可W:  
   
  Response.Write(   if   ...   else   ...   )  
   
  如果非要在Repeater中用if语句来判断其中的数据Q那么可以采用下面的ҎQ? 
   
  ######################################################################  
   
  <%   int   _nIndex=0;   %>   定义一个时的整型变量  
   
  <asp:Repeater   ID="_TopicRepeater"   Runat="SERVER"   DataSource="...">  
  <ItemTemplate>  
  <%#   DataBinder.Eval(Container.DataItem,   "Title")   %>  
  <%#   DataBinder.Eval(Container.DataItem,   "Author")   %>  
  <%#   DataBinder.Eval(Container.DataItem,   "Clicked")   %>  
  <%#   DataBinder.Eval(Container.DataItem,   "ReCount")   %>  
  <%  
  int   nCount=(int)(((DataView)_TopicRepeater.DataSource).Table.Rows[_nIndex++]["ReCount"]);  
   
  if(nCount==0)   {   %>  
  ----  
  <%   }   else   {   %>  
  <%#   DataBinder.Eval(Container.DataItem,   "LastReplyer")   %>  
  <%   }   %>  
  </ItemTemplate>  
  </asp:Repeater>  
   
  ######################################################################  
   
  其原理是Q得到_TopicRepeater的数据源QDataSourceQ,q返回该表(TableQ的当前行(Rows[_nIndex++]Q? 
   
  最后判断ReCount列是否ؓ0Q? 
   
  在最初的时候_nIndex被赋gؓ0Q然后,在每一ơ的ItemTemplate里都自加一ơ? 
   
  其目的,也就是让_nIndex记录当前正在讉K的记?#8220;?#8221;? 
   
  完,希望能对您有所帮助...

http://topic.csdn.net/t/20041021/15/3478270.html



]]>
包调?/title><link>http://www.tkk7.com/SIDNEY/archive/2008/06/18/208842.html</link><dc:creator>渠上?/dc:creator><author>渠上?/author><pubDate>Wed, 18 Jun 2008 05:06:00 GMT</pubDate><guid>http://www.tkk7.com/SIDNEY/archive/2008/06/18/208842.html</guid><wfw:comment>http://www.tkk7.com/SIDNEY/comments/208842.html</wfw:comment><comments>http://www.tkk7.com/SIDNEY/archive/2008/06/18/208842.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/SIDNEY/comments/commentRss/208842.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/SIDNEY/services/trackbacks/208842.html</trackback:ping><description><![CDATA[---所有配|做完后Q现在就是调用它: <br /> <br /> W者介l三U调用方式: <br /> <br /> A:命o <br /> 开始:dtsrunui   (有向?按照向导,为每一个参数赋予?可以了)一般用于测?<br /> <br /> B:包调?<br /> q个也有相关书籍介绍Q笔者略 <br /> <br /> C:存储q程调用 <br /> <br /> CREATE   PROCEDURE   my_proc1   AS <br /> EXEC   master.dbo.xp_cmdshell   'dtsrun   /S   /E   /N "水质目监测数据导入 "   /A "ServerName ":8=   /A "FileName ":8= "D:\SZDATA\ExcelData\AppraiseData.xls "   /A "DataSource ":8= "SZ " ' <br /> GO <br /> <br /> W者稍微说明下参数定义Q?<br /> /S   服务?  /E   信Qq接   /N   包名 <br /> /   ServerName:   为空   ,8:全局参数cd为字W?<br /> /A   表示全局变量 <br /> <br /> D:利用游标循环调用DTS <br /> <br /> --包参数调用的另一U方式: <br /> DECLARE   @STCD   varchar(10) <br /> DECLARE   STCDS_CURSOR   CURSOR   FOR <br /> OPEN   STCDS_CURSOR <br /> <br /> FETCH   NEXT   FROM   STCDS_CURSOR <br /> INTO   @STCD <br /> <br /> WHILE   @@FETCH_STATUS   =   0 <br /> BEGIN <br />       --调用包代?<br />       EXEC( 'master.dbo.xp_cmdshell   ' 'dtsrun   /S   /E   /N "新徏?"   /A "STCD ":3= " '+@STCD+ ' " ' ' ') <br />       FETCH   NEXT   FROM   STCDS_CURSOR <br />       INTO   @STCD <br /> END <br /> <br /> CLOSE   STCDS_CURSOR <br /> DEALLOCATE   STCDS_CURSOR <br /> GO <br /> <br /> <br /> E:.net调用方式Q?<br /> //说明需要添?  Microsoft.SqlServer.DTSPkg80.Package2Class   <br /> <br />         ///   <summary> <br />         ///   q行DTSQData   Transformation   Services   Q?<br />         ///   </summary> <br />         ///   <returns> </returns> <br />         public   string   runDTS() <br />         { <br />           try <br />           { <br />             string   returnValue; <br /> <br />             Microsoft.SqlServer.DTSPkg80.Package2Class   package   =   new   Microsoft.SqlServer.DTSPkg80.Package2Class(); <br />             string   fileName   =   "C:\\DTStest.dts "; <br />             string   password   =     null; <br />             string   packageID   =   null; <br />             string   versionID   =   null; <br />             string   name   =   "DTStest "; <br />             object   pVerpersistStfOfHost   =   null; <br />             package.LoadFromStorageFile(fileName,password,packageID,versionID,name,ref   pVerpersistStfOfHost); <br /> <br />             package.Execute(); <br />             package.UnInitialize(); <br />             package=null; <br />             returnValue   =   "success "; <br />             return   returnValue; <br /> <br />           } <br />           catch(Exception   ex) <br />           { <br />             throw   ex; <br />           } <br /> <br />         } <br /> <br /> <br /> -- <br /> <img src ="http://www.tkk7.com/SIDNEY/aggbug/208842.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/SIDNEY/" target="_blank">渠上?/a> 2008-06-18 13:06 <a href="http://www.tkk7.com/SIDNEY/archive/2008/06/18/208842.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>c#dxml文ghttp://www.tkk7.com/SIDNEY/archive/2008/05/30/204114.html渠上?/dc:creator>渠上?/author>Fri, 30 May 2008 07:58:00 GMThttp://www.tkk7.com/SIDNEY/archive/2008/05/30/204114.htmlhttp://www.tkk7.com/SIDNEY/comments/204114.htmlhttp://www.tkk7.com/SIDNEY/archive/2008/05/30/204114.html#Feedback0http://www.tkk7.com/SIDNEY/comments/commentRss/204114.htmlhttp://www.tkk7.com/SIDNEY/services/trackbacks/204114.html

c#dxml文g

[日期Q?span id="TimeLabel">01-16] [字体Q?a href="javascript:ContentSize(16)">?/a> ?/a> ?/a>]
c#dxml文g
已知有一个XML文gQbookstore.xmlQ如下:
<?xml version="1.0" encoding="gb2312"?>
<bookstore>
  <book genre="fantasy" ISBN="2-3631-4">
    <title>Oberon's Legacy</title>
    <author>Corets, Eva</author>
    <price>5.95</price>
  </book>
</bookstore>
 
1、往<bookstore>节点中插入一?lt;book>节点Q?br />    XmlDocument xmlDoc=new XmlDocument();
   xmlDoc.Load("bookstore.xml");
   XmlNode root=xmlDoc.SelectSingleNode("bookstore");//查找<bookstore>
   XmlElement xe1=xmlDoc.CreateElement("book");//创徏一?lt;book>节点
   xe1.SetAttribute("genre","李赞U?);//讄该节点genre属?br />    xe1.SetAttribute("ISBN","2-3631-4");//讄该节点ISBN属?br />  
   XmlElement xesub1=xmlDoc.CreateElement("title");
   xesub1.InnerText="CS从入门到_N?;//讄文本节点
   xe1.AppendChild(xesub1);//d?lt;book>节点?br />    XmlElement xesub2=xmlDoc.CreateElement("author");
   xesub2.InnerText="候捷";
   xe1.AppendChild(xesub2);
   XmlElement xesub3=xmlDoc.CreateElement("price");
   xesub3.InnerText="58.3";
   xe1.AppendChild(xesub3);
 
   root.AppendChild(xe1);//d?lt;bookstore>节点?br />    xmlDoc.Save("bookstore.xml");
//===============================================
l果为:
<?xml version="1.0" encoding="gb2312"?>
<bookstore>
  <book genre="fantasy" ISBN="2-3631-4">
    <title>Oberon's Legacy</title>
    <author>Corets, Eva</author>
    <price>5.95</price>
  </book>
  <book genre="李赞U? ISBN="2-3631-4">
    <title>CS从入门到_N?lt;/title>
    <author>候捷</author>
    <price>58.3</price>
  </book>
</bookstore>
 
2、修改节点:genre属性gؓ“李赞U?#8220;的节点的genre值改?#8220;update李赞U?#8221;Q将该节点的子节?lt;author>的文本修改ؓ“亚胜”?br />     XmlNodeList nodeList=xmlDoc.SelectSingleNode("bookstore").ChildNodes;//获取bookstore节点的所有子节点
   foreach(XmlNode xn in nodeList)//遍历所有子节点
   {
    XmlElement xe=(XmlElement)xn;//子节点cd转换为XmlElementcd
    if(xe.GetAttribute("genre")=="李赞U?)//如果genre属性gؓ“李赞U?#8221;
    {
     xe.SetAttribute("genre","update李赞U?);//则修改该属性ؓ“update李赞U?#8221;
 
     XmlNodeList nls=xe.ChildNodes;//l箋获取xe子节点的所有子节点
     foreach(XmlNode xn1 in nls)//遍历
     {
      XmlElement xe2=(XmlElement)xn1;//转换cd
      if(xe2.Name=="author")//如果扑ֈ
      {
       xe2.InnerText="亚胜";//则修?br />        break;//扑ֈ退出来可以了
      }
     }
     break;
    }
   }
 
   xmlDoc.Save("bookstore.xml");//保存?br /> //==================================================
最后结果ؓQ?br /> <?xml version="1.0" encoding="gb2312"?>
<bookstore>
  <book genre="fantasy" ISBN="2-3631-4">
    <title>Oberon's Legacy</title>
    <author>Corets, Eva</author>
    <price>5.95</price>
  </book>
  <book genre="update李赞U? ISBN="2-3631-4">
    <title>CS从入门到_N?lt;/title>
    <author>亚胜</author>
    <price>58.3</price>
  </book>
</bookstore>
 
3、删?<book genre="fantasy" ISBN="2-3631-4">节点的genre属性,删除 <book genre="update李赞U? ISBN="2-3631-4">节点?br /> XmlNodeList xnl=xmlDoc.SelectSingleNode("bookstore").ChildNodes;
 
   foreach(XmlNode xn in xnl)
   {
    XmlElement xe=(XmlElement)xn;
    if(xe.GetAttribute("genre")=="fantasy")
    {
     xe.RemoveAttribute("genre");//删除genre属?br />     }
    else if(xe.GetAttribute("genre")=="update李赞U?)
    {
     xe.RemoveAll();//删除该节点的全部内容
    }
   }
   xmlDoc.Save("bookstore.xml");
//===========================================
最后结果ؓQ?br /> <?xml version="1.0" encoding="gb2312"?>
<bookstore>
  <book ISBN="2-3631-4">
    <title>Oberon's Legacy</title>
    <author>Corets, Eva</author>
    <price>5.95</price>
  </book>
  <book>
  </book>
</bookstore>
 
4、显C所有数据?br />    XmlNode xn=xmlDoc.SelectSingleNode("bookstore");
 
   XmlNodeList xnl=xn.ChildNodes;
  
   foreach(XmlNode xnf in xnl)
   {
    XmlElement xe=(XmlElement)xnf;
    Console.WriteLine(xe.GetAttribute("genre"));//昄属性?br />     Console.WriteLine(xe.GetAttribute("ISBN"));
 
    XmlNodeList xnf1=xe.ChildNodes;
    foreach(XmlNode xn2 in xnf1)
    {
     Console.WriteLine(xn2.InnerText);//昄子节点点文本
    }
   } 






]]>
指定恢复模式http://www.tkk7.com/SIDNEY/archive/2008/05/09/199469.html渠上?/dc:creator>渠上?/author>Fri, 09 May 2008 05:15:00 GMThttp://www.tkk7.com/SIDNEY/archive/2008/05/09/199469.htmlhttp://www.tkk7.com/SIDNEY/comments/199469.htmlhttp://www.tkk7.com/SIDNEY/archive/2008/05/09/199469.html#Feedback0http://www.tkk7.com/SIDNEY/comments/commentRss/199469.htmlhttp://www.tkk7.com/SIDNEY/services/trackbacks/199469.html恢复模式是一个数据库配置选项,控制如何记录事务日志、事务日志是否需要备份以及数据库可用的还原操作。你为数据库选择的恢复模?Ҏ该恢复模式执行的或没有执行的日志记录,同时涉及数据恢复问题和性能问题?/p>

学习目标:

n  能够解释各恢复模式间的区?/p>

n  能够为每个SQL Server 2005数据库选择最佳的恢复模式

预计评旉:10分钟

恢复模式lD

SQL Server 2005为数据库提供了三U恢复模?完整、简单和大容量日志。这些模式决定了SQL Server如何使用事务日志,如何选择它要记录的操?以及是否截断日志。截断事务日志是删除已执行事务ƈ把该日志I间让给C务的q程。下面是每种恢复模式的定义?/p>

n  在完整恢复模式下,数据库引擎把所有操作都记录C务日志上,q且数据库引擎绝对不会截断日志。完整恢复模式能使数据库恢复到故障时间点(在SQL Server 2005 Enterprise版中,恢复C个比q更早一些的旉??/p>

n  在简单恢复模式下,数据库引擎最低限度地记录大多数操?q在每个查点之后截断事务日志。在单恢复模式下,不能备䆾或还原事务日志。此?也不能还原单独的数据c?/p>

重要提示  单恢复模?br /> 单恢复模式ƈ不适合那些无法接受丢失最新更改的数据库?/p>

n  在大定w日志模式?数据库引擎对大容量操?诸如SELECT INTO和BULK INSERT)q行最记录。在q种恢复模式?如果一个日志备份包含Q何大定w操作,可以数据库恢复到日志备䆾的结?但不能恢复到某个旉炏V大定w日志模式仅用于大定w操作期间?/p>

如何配置恢复模式

在SSMS中的“数据库属?#8221;上可以查看Z个给定数据库指定的恢复模?Ҏ也可以通过查询sys.database目录视图,其基本语法如下所C?

SELECT name, recovery_model_desc FROM sys.databases

要配|一个数据库的恢复模?可以q入SSMS中的“数据库属?#8221;?也可以用ALTER DATABASE语句?/p>

在SSMS?通过执行下列步骤可以改变恢复模式?/p>

1.     在SSMS?#8220;对象资源理?#8221;下展开“数据?#8221;节点?/p>

2.     叛_需要设|恢复模式的数据?然后选择“属?#8221;。选择“选项”c?/p>

3.     q时可以通过“恢复模式”下拉列表改变恢复模式,如图2.3所C?/p>

?.3  通过SSMS改变恢复模式

使用ALTER DATABASE语句配置恢复模式的基本语法如?

ALTER DATABASE <database_name>

SET RECOVERY FULL | SIMPLE | BULK_LOGGED

如前所q?在生产环境下Ҏ据库使用完整恢复模式,因ؓ它提供了最可恢复的配置。如果通过大容量机制定期导入数?则可以时将数据库的恢复模式改变为大定w日志模式,以获得更好的大容量负载性能。然?在导入过E结束以?应将数据库恢复ؓ完整恢复模式?/p>

l习:改变数据库的恢复模式

本练习将数据库恢复模式改变ؓ大容量日?以获得大定w日志操作的良好性能,然后恢复到完整恢复模式?/p>

1.     通过执行如下ALTER DATABASE语句,AdventureWorks数据库的数据库恢复模式设|ؓ大容量日志恢复模式?在改变恢复模式前,对该数据库作完整备䆾?

-- Note that you should create the C:"Backup folder at Operating
    System level before running this backup.

BACKUP DATABASE AdventureWorks TO DISK='C:"Backup"
AdventureWorks.Bak'

GO

--Change the Recovery Model to Bulk Logged

ALTER DATABASE AdventureWorks

SET RECOVERY BULK_LOGGED

2.    在执行大定w日志操作以后,输入q运行如下ALTER DATABASE语句,恢复模式改回完整恢复模?然后执行另一ơ完整的数据库备?以备份刚刚装入的数据?/p>

ALTER DATABASE AdventureWorks

SET RECOVERY FULL

--Perform a Full database backup

BACKUP DATABASE AdventureWorks TO DISK='C:"Backup"
AdventureWorks.Bak'

GO

本课ȝ

n  恢复模式允许我们控制数据库引擎如何记录事务日?可以对一个特定的数据库用哪些还原操作?/p>

n  SQL Server提供了三个恢复模?完整、简单和大容量日志?/p>

n  完整恢复模式是默认的模式,而且也是推荐使用的模?它记录所有的操作,能数据库恢复到故障旉炏V?/p>

n  单恢复模式最低限度地记录大多数操?它不允许我们备䆾或还原事务日志?/p>

n  大容量日志恢复模式最低限度地记录大容量操?主要供大定w操作期间临时                 使用?/p>

n  通过以下两个Ҏ可以配置一个数据库的恢复模?通过SSMS中的“数据库属?#8221;H口,或者用T-SQL语句ALTER DATABASE?/p>

译֐试

下列问题旨在巩固本课介绍的关键内宏V如果喜Ƣ用电子版的,可以参见配套CD?/p>

提示  参考答?br /> q些题目的参考答案以及对每个选项的具体解?参见本书后面?#8220;参考答?#8221;部分?/p>

1.     下列关于恢复模式的说?哪个是正的?

A.    在简单恢复模式下,大多C务被最低限度地记录到日志中

B.    在完整恢复模式下,大多C务被最低限度地记录到日志中

C.    在大定w日志恢复模式?所有事务都被记录到日志?/p>

D.    在简单恢复模式下,所有事务都被记录到日志?/p>

2.     下列哪种方式允许你改变数据库恢复模式?(选择所有正答?

A.    sp_configure存储q程

B.    SSMS中的数据库属?/p>

C.    ALTER DATABASE

D.    CREATE DATABASE

3.     在简单恢复模式下,下列哪些恢复操作是不允许?(选择所有正答?

A.    旉Ҏ?/p>

B.    差异恢复

C.    完整恢复

D.    |?/p>

]]>
Best Practices for Troubleshooting Slow Running Querieshttp://www.tkk7.com/SIDNEY/archive/2008/05/09/199462.html渠上?/dc:creator>渠上?/author>Fri, 09 May 2008 05:08:00 GMThttp://www.tkk7.com/SIDNEY/archive/2008/05/09/199462.htmlhttp://www.tkk7.com/SIDNEY/comments/199462.htmlhttp://www.tkk7.com/SIDNEY/archive/2008/05/09/199462.html#Feedback0http://www.tkk7.com/SIDNEY/comments/commentRss/199462.htmlhttp://www.tkk7.com/SIDNEY/services/trackbacks/199462.html

Best Practices for Troubleshooting Slow Running Queries

In this article we will share some of the common reasons for slow-running queries and what your approach should be for identifying and fixing them. The best and the quickest way to address any slow running query should be by first preparing a Troubleshooting Checklist or Troubleshooting Guide and than by using it during slow running query situations. This way it can help any developer or DBA to easily and quickly narrow down the issue. (This troubleshooting guide or checklist should be posted on a central location from where all the DBA's / Developers of your team can access and update when required)

 

Please note: If you experience something new which is not listed in the below list than you may update your TSG (Troubleshooting Guide) appropriately.

 

Queries or updates that take more than the expected time to execute can be caused by a variety of reasons. Slow-running queries can be caused by performance problems related to your network or the computer where SQL Server is running. Slow-running queries can also be caused by problems with your physical database design and SQL Server configuration.

 

Some of the most common reasons for slow-running queries and updates are:

 

1) CPU could be causing the bottleneck

2) Slow network communication (high latency).

3) Insufficient memory in the server computer, or the memory is not properly configured for SQL Server instance.

4) Insufficient useful statistics on indexed columns.

5) Outdated statistics on indexed columns.

6) Insufficient useful indexes.

7) Lack of useful indexed views.

8) Lack of useful data striping.

9) Improper partitioning of data.

 

Troubleshooting Checklist (covering most common scenarios)

 

1) CPU could be causing the bottleneck

What to do?

One of the most common complaints I get is that SQL Server CPU started spiking excessively all of a sudden. A CPU bottleneck that happens suddenly and unexpectedly, without any changes or load on the server may be caused due to several reasons but some of the common reasons are:

 

1) Non-optimal query plan,

2) A poor SQL Server configuration,

3) Improper Application/Database design,

4) Insufficient hardware resources.

 

Read more about “How to detect if SQL Server has bottleneck or not?”

 

 

2) Could it be slow network communication (high latency).

What to do?

Investigate if the performance problem is related to a component other than queries? For example, is there a problem with network performance, do you see any latency issue, try copying the files across to measure the performance of your network. Also, try to identify if there are any other components that might be causing or contributing to performance degradation?

 

What tool to use?

The Windows System Monitor can be used to monitor the performance of SQL Server and non-SQL Server related components.

 

Where to find more info?:

http://msdn2.microsoft.com/en-us/library/ms191246.aspx

 

3) Could it be Insufficient memory on the server computer, or the memory is not properly configured

for SQL Server instance?

What to do?

If your investigation reveals that the performance issue is related to queries then Identify which query or set of queries are involved?

 

What tool to use?

You may use SQL Server Profiler to help identify the slow query or queries.

 

Where to find more info?

http://msdn2.microsoft.com/en-us/library/ms187929.aspx

 

What’s next?

After you have identified the slow-running query or queries, you can further analyze query performance by producing a query SHOWPLAN, which can be a text, XML, or graphical representation of the query execution plan that the query optimizer generates. You can produce query SHOWPLAN using:

Ø Transact-SQL SET options,

Ø SQL Server Management Studio, or

Ø SQL Server Profiler.

 

Where to find more info:

How to use Transact-SQL SET options to display test and XML execution plans

How to use SQL Server Management Studio to display graphical execution plans

How to use SQL Server Profiler to display text and XML execution plans

 

The information gathered by these tools would allow you to determine how a query is executed by the SQL Server query optimizer and which indexes are being used. This could help you determine if performance improvements can be made by rewriting the query, changing the indexes on the tables, or perhaps modifying the database design.

 

4) Could it be due to Insufficient useful statistics on indexed columns.

What to do?

Investigate if the query was optimized with useful statistics or not? In SQL Server, statistics on the distribution of values in a column are created automatically on the indexed columns. They can also be created on non-indexed columns either manually using SQL Server Management Studio or CREATE STATISTICS statement, or automatically, if the AUTO_CREATE_STATISTICS database option is set to TRUE. These statistics can be used by the query processor to determine the optimal strategy for evaluating a query. Maintaining additional statistics on non-indexed columns involved in join operations can improve query performance.

 

Alternatively, you can also monitor the query using SQL Server Profiler or the graphical execution plan in SQL Server Management Studio to determine if the query has enough statistics.

 

What tools to use?

Ø You can use Create Statistics, AUTO_CREATE_STATISTICS for creating and updating indexes. (Look at the below section for resource links)

Ø You can also use SQL Server Profiler to determine if query has enough statistics

Ø You can also use Graphical Execution plan from SQL Server Management studio to determine if query has enough statistics or not.

 

Where to find more info?

Create Statistics, Auto_Create_Statistics

Details about Statistics and Indexes by Kalen Delaney

Script to get the facts whether STATISTICS are required or not by Saleem Hakani

 

 

5) Could it be due to outdated statistics on indexed columns.

What to do?

 

Check if the query statistics are up to date? Are the statistics automatically updated?

SQL Server would automatically create and update query statistics on indexed columns (as long as automatic query statistic updating is not disabled). Additionally, statistics can be updated on non-indexed columns either manually, using SQL Server Management Studio or the UPDATE STATISTICS statement, or automatically, if the AUTO_UPDATE_STATISTICS database option is set to TRUE.

 

Tip: Up-to-date statistics are not dependent upon date or time data. If no UPDATE operations have taken place, the query statistics are still up-to-date.

 

What tool to use?

You may use Auto_Create_Statistics property of the database to enable or disable the creation of statistics automatically.

 

Where to find more info?

You may use ALTER DATABASE option to enable AUTO_CREATE_STATISTICS on a database.

 

 

6) Could it be due to Insufficient useful indexes.

What to do?

Investigate if suitable indexes are available? Investigate if adding one or more indexes can improve query performance?

 

Where to find more info?

General Index Design Guidelines

Finding Missing Indexes

Database Engine Tuning Advisor Reference

Database Engine Tuning Advisor Tutorial

 

 

7) Could it be the lack of useful indexed views.

What to do?

Identify if there are there any data or index hot spots? You may also consider using disk striping which can be implemented by using RAID (redundant array of independent disks) level 0 in which the data is distributed across multiple disk drives.

 

Where to find more info?

Using files and file groups

Basics of RAID in SQL Server

Different RAID levels in SQL Server

 

 

8) Could it be due to lack of useful data striping.

What to do?

Check if the query optimizer has provided with the best opportunity to optimize a complex query?

 

Where to find more info?

Query Optimization Recommendations

 

9) Could it be due to improper partitioning of data.

What to do?

Check if you have a large volume of data and if you do then you need to partition that data to achieve maximum performance from your queries. Data manageability is the main benefit of partitioning, but if your tables and indexes on them are partitioned similarly, partitioning can also improve query performance greatly.

 

Where to find more info?

Understanding SQL Server 2005 Data Partitioning

Tuning the physical database design

 

Once you perform all the above steps you should be able to resolve the performance issues for SQL Server queries.

We will be adding more data to this article as it becomes available.



]]>
DataGrid的ItemCreated和ItemDataBound事g使用技巧! http://www.tkk7.com/SIDNEY/archive/2007/05/18/118470.html渠上?/dc:creator>渠上?/author>Fri, 18 May 2007 15:30:00 GMThttp://www.tkk7.com/SIDNEY/archive/2007/05/18/118470.htmlhttp://www.tkk7.com/SIDNEY/comments/118470.htmlhttp://www.tkk7.com/SIDNEY/archive/2007/05/18/118470.html#Feedback0http://www.tkk7.com/SIDNEY/comments/commentRss/118470.htmlhttp://www.tkk7.com/SIDNEY/services/trackbacks/118470.htmlDataGrid的事件中QItemCreated和ItemDataBound是尤为重要ƈ且经常要用到的两个,其中的ItemCreated事g在DataGrid创徏表格行时触发Q而ItemDataBound则在数据l定被绑定到相应的行后触发,前者可以用来在DataGrid中创建动态控Ӟ比如下面的例子中在DataGrid的标题行中加入一个Buttonq注册它的Click事gQ而ItemDataBound被触发时Q数据已l绑定到相应的行Q这时就可以获取当前行的数据QƈҎq些数据来执行相应的操作Q比如下面的CZ中把l定?#8220;性别”字段的book值用string替换、ؓ“止d”列的CheckBox讄选中状态等Q示例代码如下,保存为aspx文g后放在虚拟目录下卛_q行Q?/p>

<%@ Page Language="C#" Debug="True"%>
<%@ Import Namespace="System" %>
<%@ Import Namespace="System.Data" %>

<script language="C#" runat="server">

 void Page_Load(Object src, EventArgs e)
 {
 if(!Page.IsPostBack){
 DataTable table=new DataTable();
 table.Columns.Add(new DataColumn("~号",typeof(int)));
 table.Columns.Add(new DataColumn("姓名",typeof(string)));
 //性别列,用boolDC,男ؓtrueQ女为false
 table.Columns.Add(new DataColumn("性别",typeof(bool)));
 table.Columns.Add(new DataColumn("止d",typeof(bool)));
 DataRow row;
 Random rd=new Random();
 for(int i=0;i<10;i++){
 row=table.NewRow();
 row[0]=i+1;
 row[1]="用户"+(i+1).ToString();
 row[2]=(rd.Next(0,80)%2==0); //用随机数来生成性别Q以C公正原则:Q?br> row[3]=(i%2==0);
 table.Rows.Add(row);
 }
 MyDataGrid.DataSource=table;
 MyDataGrid.DataBind();
 }
 }

void MyDataGrid_ItemCreated(object src,DataGridItemEventArgs e){
if(e.Item.ItemType==ListItemType.Header){
Button btn=new Button();
btn.Text=e.Item.Cells[3].Text;
btn.Click+=new EventHandler(btn_Click);
e.Item.Cells[3].Controls.Clear();
e.Item.Cells[3].Controls.Add(btn);
}
}

void MyDataGrid_ItemDataBound(object src,DataGridItemEventArgs e){
if(e.Item.ItemType==ListItemType.Item||e.Item.ItemType==ListItemType.AlternatingItem){
DataRowView rv=(DataRowView)e.Item.DataItem;
//把性别列的bool值替换ؓ相应的文?#8220;?#8221;?#8220;?#8221;
if((bool)rv["性别"]==true)
e.Item.Cells[2].Text="?;
else
e.Item.Cells[2].Text="?;
//Ҏ“止d”列的D|CheckBox的选中状?br>CheckBox ckb=e.Item.FindControl("ckb_denyLogin") as CheckBox;
if(ckb!=null){
ckb.Checked=(bool)rv["止d"];
}
}
}

void btn_Click(object src,EventArgs e){
string deniedUsers=""; //保存用户选中?#8220;止d”的用L?br>CheckBox ckb;
for(int i=0;i<MyDataGrid.Items.Count;i++){
if(MyDataGrid.Items[i].ItemType==ListItemType.Item||MyDataGrid.Items[i].ItemType==ListItemType.AlternatingItem){
ckb=(CheckBox)MyDataGrid.Items[i].FindControl("ckb_denyLogin");
if(ckb!=null&&ckb.Checked){
deniedUsers+=MyDataGrid.DataKeys[i].ToString()+",";
}
}
}
deniedUsers=deniedUsers.Trim(',');
msglbl.Text="已被止d的用P"+deniedUsers;
}
</script>
<html>
<head>
<title> Webdiyer刉:Q?lt;/title>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="Webdiyer(http://www.webdiyer.com)">
</head>
<body>

<form runat="server">
      <ASP:DataGrid id="MyDataGrid" width="500px" runat="server" OnItemCreated="MyDataGrid_ItemCreated" OnItemDataBound="MyDataGrid_ItemDataBound" DataKeyField="~号" AutoGenerateColumns=false>
      <HeaderStyle HorizontalAlign="center" BackColor="#9999CC"/>
      <Columns>
      <asp:BoundColumn DataField="~号" HeaderText="~号"/>
      <asp:BoundColumn DataField="姓名" HeaderText="姓名"/>
      <asp:BoundColumn DataField="性别" HeaderText="性别"/>
      <asp:TemplateColumn HeaderText="止d">
      <ItemStyle HorizontalAlign="center"/>
      <ItemTemplate>
      <asp:CheckBox runat="server" id="ckb_denyLogin"/>
      </ItemTemplate>
      </asp:TemplateColumn>
      </Columns>
      </asp:DataGrid>
<asp:Label runat="server" id="msglbl"/>
</form>
 
</body>
</html>



Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=225218



]]>
目调试时候出现组件“访问被拒绝”的解决Ҏ的情?http://www.tkk7.com/SIDNEY/archive/2007/04/18/111668.html渠上?/dc:creator>渠上?/author>Wed, 18 Apr 2007 08:19:00 GMThttp://www.tkk7.com/SIDNEY/archive/2007/04/18/111668.htmlhttp://www.tkk7.com/SIDNEY/comments/111668.htmlhttp://www.tkk7.com/SIDNEY/archive/2007/04/18/111668.html#Feedback0http://www.tkk7.com/SIDNEY/comments/commentRss/111668.htmlhttp://www.tkk7.com/SIDNEY/services/trackbacks/111668.html 

在调试ASP.netE序的时候,某某lg讉K被拒l。这时候重起IISQ电脑注销或者对ASP.NET 应用E序重新配置脚本映射Qaspnet_regiis.exe -iQ都不v作用?/p>

出错信息Q?br>说明: 在处理向该请求提供服务所需的配|文件时出错。请查下面的特定错误详细信息q当C攚w|文件?

分析器错误信? 讉K被拒l:“Kind.DataAccess”?br>
源错?

?196Q?			<add assembly="System.EnterpriseServices, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
            ?197Q?			<add assembly="System.Web.Mobile, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
            ?198Q?			<add assembly="*"/>
            ?199Q?		</assemblies>
            ?200Q?	</compilation>

源文? c:\winnt\microsoft.net\framework\v1.1.4322\Config\machine.config    ? 198

E序集加载跟t? 下列信息有助于确定程序集“Kind.DataAccess”无法加蝲的原因?br>
=== Pre-bind state information ===
            LOG: DisplayName = Kind.DataAccess
            (Partial)
            LOG: Appbase = file:///D:/jmw.net/web
            LOG: Initial PrivatePath = bin
            Calling assembly : (Unknown).
            ===
            LOG: Policy not being applied to reference at this time (private, custom, partial, or location-based assembly bind).
            LOG: Post-policy reference: Kind.DataAccess
            LOG: Attempting download of new URL file:///C:/WINNT/Microsoft.NET/Framework/v1.1.4322/Temporary ASP.NET Files/jmw.net/ebbe807a/6992844c/Kind.DataAccess.DLL.
            LOG: Attempting download of new URL file:///C:/WINNT/Microsoft.NET/Framework/v1.1.4322/Temporary ASP.NET Files/jmw.net/ebbe807a/6992844c/Kind.DataAccess/Kind.DataAccess.DLL.
            LOG: Attempting download of new URL file:///D:/jmw.net/web/bin/Kind.DataAccess.DLL.
            LOG: Policy not being applied to reference at this time (private, custom, partial, or location-based assembly bind).
            LOG: Post-policy reference: Kind.DataAccess, Version=3.1.0.0, Culture=neutral, PublicKeyToken=null
            

搜烦Policy not being applied to reference at this time (private, custom, partial, or location-based assembly bind).

得知Q?br>最常见的原因是Indexing service服务引v的。解x法就是停用Indexing serviceQ或配置ASP.net 的时目录不受Indexing service服务的媄响?/p>

配置ASP.net 的时目录不受Indexing service服务的媄响的步骤如下Q?/p>

1、开?-- 理工具 -- 计算机管理(Win2003的位|,其他操作pȝcMQ打开计算机管?br>2、展开计算机管理左Ҏ?#8220;服务和应用程?#8221;节点Q再在其下展开“索引服务”节点Q再在其下展开“System”节点Q再在其下展开“目录”节点?br>3、在计算机管理的双我们可以看到配置的烦引服务目录?br>4、在“目录”节点上右击鼠标,选择“新徏”--“目录”
5、在“d目录”对话框中Q\l输入框中输?ASP.net 的时文件目录。默认应该是Q?br>c:\<WINDIR>\Microsoft.NET\Framework\<Version Number>\Temporary ASP.NET Files 目录?br><Version Number> 指你要处理的.net版本?br>6、在“包含在烦引中吗?”选项中,选择“?#8221;
7、单?#8220;定”按钮
8、在“索引服务”节点上右键单击,重启索引服务卛_?/p>



]]>
关于WebService传递自定义对象的问?http://www.tkk7.com/SIDNEY/archive/2007/04/04/108484.html渠上?/dc:creator>渠上?/author>Wed, 04 Apr 2007 09:23:00 GMThttp://www.tkk7.com/SIDNEY/archive/2007/04/04/108484.htmlhttp://www.tkk7.com/SIDNEY/comments/108484.htmlhttp://www.tkk7.com/SIDNEY/archive/2007/04/04/108484.html#Feedback0http://www.tkk7.com/SIDNEY/comments/commentRss/108484.htmlhttp://www.tkk7.com/SIDNEY/services/trackbacks/108484.html 

       最q做一个项目,用Castle装数据层,用WebService装业务?主要是由于系l采用CS,BS混和型,q样做可以不用重复写业务Q而且Cs部分也不用装Oracle客户端)Q本来计划的挺好的,觉得应该不会有太多问题。以前用WS都是用DataSet传输数据的,也没有太xq序列化的问题。而且也没有用qNhibernate真正的做q项目?br>

       现在问题出来了Q当我想用一个通用的方法接受Ws传递回来的对象数据Q就发现有问题了。WSҎ不能识别q些对象Q换句专业的话说是不能序列化。这个问题我问了TerryLeeQ以及其他一些hQ都没有扑ֈ好的解决Ҏ。后来jickjick520告诉我在webmethod前面加特性[XmlInclude(typeof(myclass))].   的确是客L可以接受到。但是解决不了通用性的问题Q因个相当于是硬~码的,而且typeof(object)试不能通过。也是说假如客L用hql语句从WS处取得结果对象集QWS没办法传递回厅R如果这个问题不解决Q那么就需要在WEB层定义好客户端需要查询的语句Q直接让客户端传递参数进来,q且一个表p对应N个WebҎQ都要在Ҏ前面加入[XmlInclude(typeof(XXX))].   实在是懒惎ͼl于试了很多方法比如公q承等后,发现了一个还勉勉强强的方法:

       每次我们引用WS的时候,都会在当前应用程序下面生成一个文件夹Q下面有reference.csq个文gQ仔l观察,发C生成的都是些代理ҎQƈ且在最下面q会有一些返回自定义cd对应的类Q有区别的是Q这些类都没有方法,只是一个个public的成员变量,也就是他把实体类public的R/W属性对应成了成员变量?br>
http://www.cnblogs.com/microshot/archive/2006/08/30/490604.aspx



]]>
XML Webservice ȝhttp://www.tkk7.com/SIDNEY/archive/2007/04/04/108454.html渠上?/dc:creator>渠上?/author>Wed, 04 Apr 2007 08:01:00 GMThttp://www.tkk7.com/SIDNEY/archive/2007/04/04/108454.htmlhttp://www.tkk7.com/SIDNEY/comments/108454.htmlhttp://www.tkk7.com/SIDNEY/archive/2007/04/04/108454.html#Feedback0http://www.tkk7.com/SIDNEY/comments/commentRss/108454.htmlhttp://www.tkk7.com/SIDNEY/services/trackbacks/108454.html好多书籍只介l创建XML WebserviceQƈ没有详细介绍XML WebService的工作原理以及各部分(例如IIS Asp.net)
在XML WebService中所L作用.
学习后整理了一?希望对读者有所帮助!

(一).XML WebService作用
  XML WebService在应用程序中所L作用?Netq程调用处理lg相同.
  用户不能直接使用WebService,只能通过Asp.net Web应用E序或Windows桌面
  客户端来调用.
(?.XML WebService?Netq程处理区别
  1. XML WebService?Netq程处理对象所受的限制更多。它cM?Netq程处理
     的单独调用对象的工作机制?不能创徏一个单独的或是由客LȀzȝ对象.
  2.XML WebService的创建和设计比远E组件更Ҏ/?
  3.Netq程处理二进刉信要比XML WebService SOAP格式通信要快?
  4.XML WebService?Netq程处理扩展性强?它支持以跨^C用ؓ目的的开放标?
  5.XML WebService不需要专门的宿主E序Q而是由Asp.net承蝲?可以讉K一些重要的
    q_服务Q如Q数据缓?|络会话状态管?w䆾验证/全局׃n应用E序集合{。?Net
    q程处理则很隑֮现这些功?
  6.XML WebServiceq行在IIS和ASP.NET之上Q用http信道(80端口)与客户通信?br>    可以自由跨越防火?
(?.XML WebService创徏与调用过E?br>  I.服务端创?br>     1.使用IISQ在Web服务器上新徏一个虚拟目录来存放XML Web服务.
     2.建立XML WebServicec,使用[WebMethod]属性来标记Ҏ可以被远E调?
     3.在虚拟目录中部vXML Web服务的文?
  II.客户端?br>     1.客户端通过URL或文件查询或UDDI注册Q发现XML WebService
     2.客户端请求描qXML WebService的WSDL文档?br>     3.客户端在WSDL文的基上生成一个代理类?br>     4.客户端生成代理类的实例,q调用XML WebserviceQ发送消息ƈ接受处理后结?
       也就是说调用XML WebService是由客户端生成的代理cd例对象完成的.
(?.IIS作用
  1.IIS通过虚拟目录提供对Web服务器进行访问。简单的_ 是?c:\MyWeb"映射
    一个URL地址形式的虚拟目?"    上计机讉KWebservice.
  2.虚拟目录的权限与普通目录不同。根据默认设|,不允许远E用h览虚拟目录,q行
    可执行文Ӟ新徏文g和下载某些文件类型文件。可以根据需要自定义IIS虚拟目录权限讄.
  3.IIS对Internetq行公开处理. IISq不负责q行Asp或Asp.net布面 或XML Webservice,而是
    l护一个注册的文g扩展名列表。如果IIS收到Ҏ一U文件类型的hQ就把工作提交给
    Asp.net工作q程Q由Asp.net工作q程处理剩下的工?
(?.XML WebService和SOAP标准支持的数据类?br>  不知道读者有没有遇到q种情况Q在调用WebServiceq给一个方法传递了一个DataRow参数Ӟq行
  时会抛出异常Q?"没法参数序列化Q?Q如果把DataRow加入到DataSet中,q将DataSet作ؓ参数
  传递再q行OK了?q是因ؓQXML WebService只能Ҏ据集DataSet对象cdq行XML序列化,
  不能对DataRow对象cdq行XML序列化造成的错?  所以了解一下XML WebService支持序列化的?br>  本数据类型是比较重要?它支持的数据cd如下:
  1.基本数据cd. 
      标准cdQ如Qint float bool DateTime string{基本数据类?br>  2.枚D.
      支持枚DEnum定义的类?br>  3.自定义对?
      可以传递Q意基于自定义cLl构创徏的对象?但要注意一点: 它只能传输数据成?变量和属?.
      如果定义了方法,则方法不能进行序列化传输,序列化后只剩下数据成?
  4.DataSet对象
      支持DataSet,切记Q不支持DataTable和DataRow,DataSet已经是XML Webservice能够支持的最的可序列化对象.
  5.XmlNode对象
      ZXmlNode的对象可以表CXML文的一部分.
  6.数组和集?br>      可以使用M被支持的cd的数l和单集合,包括: DataSet对象/XmlNode对象和自定义对象.

另外Q关于创建XML WebService实例代码CZQ几乎Q何一本涉及到WebService的书c都会讲的。而且创徏一?br>WebService非常? q里׃多说?

 



Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=519799



]]>
怎样看胦务报?/title><link>http://www.tkk7.com/SIDNEY/archive/2007/03/13/103429.html</link><dc:creator>渠上?/dc:creator><author>渠上?/author><pubDate>Tue, 13 Mar 2007 01:02:00 GMT</pubDate><guid>http://www.tkk7.com/SIDNEY/archive/2007/03/13/103429.html</guid><wfw:comment>http://www.tkk7.com/SIDNEY/comments/103429.html</wfw:comment><comments>http://www.tkk7.com/SIDNEY/archive/2007/03/13/103429.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/SIDNEY/comments/commentRss/103429.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/SIDNEY/services/trackbacks/103429.html</trackback:ping><description><![CDATA[ <p> <a name="sec1"> </a> <font color="red">问:公司财务报表应如何分析呢Q?/font> </p> <p>{:公司财务报表既反映了公司的胦务状况,同时也是公司l营状况的综合反映。因此,通过分析公司财务报表Q就能对公司财务状况及整个经营状冉|个基本的了解?/p> <p>分析公司财务报表可以掌握反映公司l营状况的一pd基本指标和变化情况,了解公司l营实力和业l,q将它们与其他公司的情况q行比较Q从而对公司的内在hg出基本的判断?/p> <p>按有兌定,上市公司应将其中期胦务报?上半q的)和年度胦务报表公开发表。这P一般投资者可从有x刊上获得上市公司的中期和q度财务报表?/p> <p>公司中期报表较ؓ单,q度报表则较l,但上市公司的各种财务报表臛_应包括两个基本报表,卌产负和利润及利润分配表?</p> <font color="red"> <p>问:资负有些什么内容呢Q?/p> </font> <p>{:资负是一张静态报表,反映了该报表截止旉时公司的资金来源及分布状c对?表的基本分析内容包括了解分析公司当时的胦务结构、经营能力、盈利水q_偿力?/p> <p>a、流动资产,包括货币资金、短期投资、应收帐ƾ、应收票据、坏帐准备、预付货ƾ、其他应收款、存货、待处理动资净损失、一q内到期的长期债券和其他流动资产?/p> <p>b、长期投资,一q期以上的投资?/p> <p>c、固定资产,包括固定资原值及折旧、净倹{固定资产清理、在建工E、待处理固定资净损失?/p> <p>d、无形及递g资?/p> <p>e、流动负债,包括短期借款、应收票据、应收帐ƾ、预收货ƾ、应付福利费、未付股利、未~税金、其他未~及应付、预提费?、一q内到期的长期负债?其他?/p> <p>f、长期负债,包括长期借款及其他?/p> <p>g、递gE项及其他?/p> <p>h、股东权益,包括股本、资本公U金、盈余公U金Q含公益金)、未分配利润?</p> <font color="red"> <p>问:利润及利润分配表又有什么内容呢Q?/p> </font> <p>{:该表是一张动态表Q反映了公司在某一时期的经营成?中期报表反映上半q_q度报表反映全年)?/p> <p>从公司的主营业务收入和增长率可看出公司自w业务的规模和发展速度。理想的增长模式应呈阶梯式增长,q样的公怸务进展稳定,基础扎实。大起大落的公司则不够安全稳定?</p> <font color="red"> <p>问:q两个表l合h该如何分析呢Q?/p> </font> <p>{:对胦务状늚分析不能静态地看一个数据或一张报表的内容Q而应各U胦务数据结合v来综合分析才能看出问题的实质。投资者尤其应重视以下指标Q?/p> <p>反映获利能力指标包括Q?/p> <p>资收益?净利润/总资产^均余额?00%</p> <p>q_余额=(期初余额+期末余额)÷2</p> <p>股本收益?E后利润-优先股股?普通股股本金额×100%</p> <p>       E后利润Q优先股股息<br />  每股盈利=-----------------------<br />         普通股股本L</p> <p>净利率Q税后利?主营业务收入×100%</p> <p>? 资收益率是公司资获利能力的综合反? 它的高低直接反映了公司的竞争实力和发展能? 也是军_公司是否应D债经营的重要依据。股本收益率和每股盈利的高低, 反映了公司分配股利的能力, 也是投资者最为关心的指标。净利率反映了主要经营业务获得净利的能力?/p> <p>反映l营能力的指标包?</p> <p>         销售成?br />  存货周{?--------------<br />        存货q_余额 </p> <p>            销售收?br />  应收帐款周{?------------------<br />          应收帐款q_余额</p> <p>           销售收?br />  资周{?----------------------<br />          总资产^均余?/p> <p>以上三个指标分别从不同的角度反映了公司经营能力的高低, q些指标及公怸期与同行业其他公司的q_水^相比高好?/p> <p>反映偿力的指标包括:</p> <p>自有资比率和资产负债比率可用下面公式表C:</p> <p>自有资比率Q资产净?资总额×100%</p> <p>资负债比率=负债额/资总额×100%</p> <p>自有资比率高,说明公司l营资中D债的比例低,偿债的安全性较高,反之则结果相反。但是对股东来说Q该比率q高q是好现象Q因为借款利率如果?于资产报酬率Q则股东可以因公司“低息D债经营”而获得更多的报酬。当Ӟ自有资比率q低Q公司经营扩张过度,来资金周{有可能出现困难,q对股东来说也ƈ非是好事?/p> <p>动比率可用下面公式表示Q?/p> <p>动比率Q流动资?动负?/p> <p>动比率用来衡量公司清偿短期负债的能力。流动比率高表示公司的短期偿?强,但过高则可能是流动资产过剩,形成资金费。一般认为,动比率?:1较ؓ适当。过低说明偿力不Iq高则说明资金没有有效地利用?/p> <p>速动比率可用下面公式表示Q?/p> <p>速动比率Q速动资/动负?/p> <p>速动资只是动资中的一部分Q包括现金、存ƾ、短期证券、应收帐Ƅ很快 能{变成现金的公司资产。该比率昄公司x偿债的能力。一般认?:1的比?是较为合适的?/p> <p>每股净资可用下面公式表示Q?/p> <p>每股净资Q资产净?普通股L</p> <p>每股净资反映了每股股所含有的现有h值含量,该指标在对公司进行股本扩张和?时昑־非常重要。对股东来说该指标自然是高好?/p> <p>反映市场价值的指标包括:</p> <p>       每股市h<br />市盈?-------------------------<br />     每股前一q净盈利</p> <p>在把握公司经营实l中, 应依据胦务报表的分析q结合对公司其他斚w的了? 如技术水q뀁h员素质和重大目情况{? 做出l合分析判断?</p> <font color="red"> <p>问:那又该如何从行业和国民经发展状冉|分析呢?</p> </font> <p>公司所在行业和国民l济发展状况是媄响股h格的重要因素, 对它们的分析主要是关注政{动向和l论Q同旉用定量和定性分析相l合的方法?/p> <p>对行业和国民l济发展状况的全面把握是相当复杂? 但一般通过了解政府政策及日常报告和分析它们的主要经指? 便可基本认识。其中最有代表性的报告是政府工作报告、指标是行业M?或国民生产d{?/p> <p>通过分析政府报告和公告,我们可以了解国家整体形势、发展方向,一D|间内政府的发展重点和扶持行业?/p> <p>通过分析行业M值增长率以及与其他行业增长率的比较或国民生d增镉K度变化情况, 我们对行业或国民l济发展的状况就有大致的了解。当? q一步的认识q需分析其他有关指标, 如行业的q_利润率和国家的通货膨胀率等?/p> <p>一般而论, 当行业MDl稳定增? 且增镉K度和行业^均利润率高于其他多数行业较多? 表明该行业增长较? 前景也较? 反之, 行业前景׃太妙?当国民生产dDl稳定地较快增长且通货膨胀率又较低? 表明国民l济发展状况及其前景较好;反之, 则情况就不妙?/p> <p>以上所提的q些指标情况从国家或行业发布的统计报告中卛_获得?/p> <p>另外, Z较全面地认识行业或国民经发展的状况, 其是发展前景的预测, q应l合对行业周期和国民l济发展周期, 特别是目前行业和国民l济所处的发展阶段q行分析?/p> <p>对国民经所处发展阶D及其前景的分析应注意国安大经政{的变化和国家经?计划的安排?/p> <p>M, 公司所在行业和国民l济发展前景看好, 有利于公司的发展和其股h格的上升; 反之, 则不利?/p> <p>通过对公司经营实l、所在行业和国民l济发展状况的基本分? 我们对公司股的实际价值就能有个基本的判断。当? 股票的市Zh格ƈ非只取决于其实际价? 它同时还要受其他U种因素, 其是直接受市场供求关系的媄响。但? 从长q看, 股票实际价值的高低l将会在市场h上体现出来?/p> <img src ="http://www.tkk7.com/SIDNEY/aggbug/103429.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/SIDNEY/" target="_blank">渠上?/a> 2007-03-13 09:02 <a href="http://www.tkk7.com/SIDNEY/archive/2007/03/13/103429.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>泥泞中前行—在金融行业应用的问题分?/title><link>http://www.tkk7.com/SIDNEY/archive/2007/03/08/102585.html</link><dc:creator>渠上?/dc:creator><author>渠上?/author><pubDate>Thu, 08 Mar 2007 05:31:00 GMT</pubDate><guid>http://www.tkk7.com/SIDNEY/archive/2007/03/08/102585.html</guid><wfw:comment>http://www.tkk7.com/SIDNEY/comments/102585.html</wfw:comment><comments>http://www.tkk7.com/SIDNEY/archive/2007/03/08/102585.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/SIDNEY/comments/commentRss/102585.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/SIDNEY/services/trackbacks/102585.html</trackback:ping><description><![CDATA[ <div class="3pl5x5l" id="head"> <h1>中国银行信息技术管理部北京开发中?马琳    2005-6-10      阅读人次Q?8565</h1> </div> <!--昄文章正文--> <table id="text"> <tbody> <tr> <td> <!--<table border="0" align="right"> <tr><td valign="top"> <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="360" height="300" VIEWASTEXT> <param name="movie" value="/images/servers_article_large_rectangle_txt.swf"> <param name="quality" value="high"> <embed src="http://www.tkk7.com/images/servers_article_large_rectangle_txt.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="360" height="300"></embed> </object> </td></tr></table>--> <table class="pubnormal" width="100%" align="center" border="0"> <tbody> <tr> <td> <!-- <div align="center"><IFRAME MARGINHEIGHT=0 MARGINWIDTH=0 FRAMEBORDER=0 WIDTH=360 HEIGHT=300 SCROLLING=NO src="ad.htm"></IFRAME></div><br> --> <p> <br />         XML以其开放、自描述、向前兼容的Ҏ逐渐成ؓ数据交换的事实标准,q将触角伸展到金融行业的不同领域Q尽道路不是很q_Q颇有些泥泞Q但XML在金融业的应用依然向前?/p> <p> <b>渐行渐近的行业标?/b> <br />        目前Q针对不同的金融应用领域已经出现了几U不同的XML 格式。如Interactive Financial Exchange (IFX)?Open Financial Exchange (OFX)标准Q它们处理的对象是消费者和其他形式的小额银行业务?br />        Financial Information eXchange (FIX)是作Z权交易数据的标准通信协议出现的。SWIFT在加?ISO 15022 XML 工作l后Q已l采用XML 作ؓ主要的表C格式,q把它的历史悠久的数据模型{化成?XML 形式。Financial Products Markup LanguageQ金融品标记语aQFpMLQ用于金融衍生市Z务,通常用于错综复杂的协商。eXtensible Business Reporting LanguageQ可扩展商业报告语言QXBRLQ,主要用于商业报告和数据的准备与交换?br />        上述q些标准都不能涵盖所有的银行业务。会计和审计制度的不同ɘq些标准很难应用在国内的金融行业。国内也~Z专门的机构和人才寚w融数据交换制定适合国情的,q具有一定权威性的标准Q但是这些标准具有重要的参考意义不容忽视?br /><br /><img alt="dsbee" src="http://cnw2005.cnw.com.cn/store/images/2005510111947.jpg" border="0" /><br /><b>q过五道?/b><br />        XML的诱惑已l很多银行和金融公司开始制定内部的XML标准用于数据交换和存储。关于标记的制定、属性值的枚D、交易要素的多少、元素的l分{环节的随意~写也严重损害了XML的标准意义。不同银行在相同领域使用不同的XML报文规范Q以及同一个银行内部不同系l之间用不同的XML报文规范在很大程度上削弱了XML语言的开放性?br />        同时Q在XML实际用于金融数据交换时要处理好以下五个问题,q过q五道坎之后QXML发挥出真正的实力?br />        1. DTD和Schema<br />        Z说明XML词汇表的语法规则Q可以采用文类型定义描qͼDTDQ。DTD使用正式的语法定义XML文档的结构和允许倹{通过创徏DTDQ能够正式而精地定义词汇表,从而解析器可以利用DTD验证文实例的有效性和完整性。遗憄是DTD的数据类型对XML文g的约束显得ƈ不详。例如,账号和申请h的名字均被描q成#PCDATAQ字W串Q。但是̎h一个整敎ͼq可能是一?2位长的整数。另一个遗憾是QDTD使用非XML文g来描qXML文g。用XML Schema则可以在一定程度上解决上述问题。XML Schema是一个良好格式的XML文gQ提供了多种数据cd定义q允许对q些定义q行扩展、限制和l合以创q复杂cd。但是需要注意的是XML Schema规范正在发展之中?br />        作ؓ银行跨系l的应用Q用DTD或XML Schema可以更好的表现和理解用于交换的XML文l构Qƈ对XML文中的l构和内定w误进行指C。但是一般自定义的XML报文均缺DTD或XML Schema定义Q文档规则随意且不断修改。这也许在一个系l内部的交换没有什么问题,但对于跨pȝ和跨银行之间数据交换则会带来认识的差异和效率的低下?br />        2. 长度与性能<br />        自解释的一个主要后果就是XML文长度难以控制。标记和属性的昄大大加长了报文长度。报文长度的增加产生了两个方面的副作用:报文发送的成功率降低以及解析报文的内存和CPU占用增加。不论是使用SOCKETq是消息中间件进行报文传递一般都有报文长度的限制。随着报文长度的增加,通信的成功率明显降低Q尤其是q域|通信。另外无论是使用DOMq是SAX解析XML文Q存在相当的内存和CPU资源占用?br />        金融交易一般交易元素众多,特别是加入客户关pȝ理和l合账户信息后,发送和q回的信息明昑֢多。常用的一U方法是Ҏ文压~和q行传递,实际应用中一般压~比可以辑ֈ30?0%。另外就是用羃写,例如Q将Transaction _Account _Number写成tranAccNumQ可以降低报文长度,在一定程度上能够避免Z过多的注意力集中于标记而忽视真正的内容Q当然也不能q于单,否则失去了用XML语言的意义。将某些信息作ؓXML属性进行定义也可以减少文的长度?br />        3. 内存理<br />        所有的XML解析器基本上都分成两c:Z树结构的接口Q如文档对象模型QDOMQ?Z事g的接口,如简单XML API QSAXQ。DOMcd的接口用树型结构作到随机遍历和修改XML文。但是用这U类型的接口占用内存较多。当使用XML处理大量的数据交换时会对pȝ产生压力Q甚臛_现系l崩溃?br />Z事g的接口可能是一个好的选择。它不支持对XML文的随问,而是采用一U顺序访问的方式。无论XML文档的大,所用内存的多少基本上是一定的。同Ӟ׃在运行时不用创徏新的对象Q处理器旉占用也较。但是用SAXcd的接口编E比较复杂,q且没有Ҏ档的后向引用?br />        在实际应用中Q如果重视易用性,一般用DOM接口Q如更关注性能优势则选择SAXcd的接口较好。当然也可以通过减少XML元素嵌套层数减少DOM解析树的内存占用?br />        4. 标记_度<br />        元素的粒度在制定XML规范时总能让h产生困惑。某些内Ҏ合在一hZ个元素还是分开作ؓ多个元素q行标记Q例如姓名,是分成姓和名两个元素q行标记Q还是放在一起作Z个元素?个h觉得关于_度的标记定义指导原则就是一个:量l分。只有细分粒度越,才可能支持各UŞ式的l合。另外许多信息来源于遗留pȝQ如果采用囫囵吞枣的方式延用其信息格式,表面上看节省了数据细分的隑ֺQ但是这Ҏ据的׃n和数据的整合会生重大的障碍?br />        5. l构化定?br />        很多时候ؓ了提高XML文解析的效率或~短文长度Q有意识地避免采用多层结构化的XML文定义。当然不是说XML文没有根节点,但是会将节点的层ơ控制在2 ?层。这昄q背了XML设计的初街没有了l构的XML文档同一般的交换报文q有什么差异呢Q实际上大量交换的数据和信息存在层次?br />        在金融领域,可以在业务种cd业务要素两个领域对节点层ơ进行划分。首先是业务U类领域。一般交易数据包含报文头、客户基本信息、̎户信息、交易相关信息等几个大部分组成,其下则包含业务要素领域元素,如̎户信息领域下包括̎受̎L型、存期、币U、册受笔受开h期等多个相关业务要素元素。通过q两个层ơ的划分Q基本可以说明用于交换的XML报文的层ơ结构。而业务要素领域元素则可以q一步划分层ơ说明相兛_性?</p> <!--Md告结?-> </td> </tr> </tbody> </table> <br /> <br /> <br />XBRLQ可扩展商业报告语言QeXtensible Business Reporting LanguageQ,?XMLQ可扩展的标记语aQExtensible Markup LanguageQ于财务报告信息交换的一U应用,是目前应用于非结构化信息处理其是胦务信息处理的最新标准和技术。XBRL在证券行业的应用Q能够实现证怸内、业间的上市公司信息׃n和互操作Q进一步推动我国上市公怿息披露和证券信息服务业的规范、有序发展,实现上市公司信息|上披露。随着中国证券市场规模扩大和金融领域对外开放深入,国内外投资者对于上市公司胦务状况和l营情况的关注程度与日俱增,XBRL的广泛应用将满各类机构和个人对上市公司来高的信息披露要求,q将昄出愈来愈大的l济价值和C会效用?<br /><br />   目前国际上各交易所、会计师事务所和金融服务与信息供应商等机构已采用或准备采用该项标准和技术。如东京交易所的TD netpȝ采用了XBRL技术报送胦务数据,x交易所正在研究q准备用XBRLQd国d意志银行XBRL用于处理h信息q其信用分析过E更加流畅。XBRL自其1998q诞生vQ在国际上已l获得了q速发展,而且研究表明XBRL技术增加了公司财务报告披露的透明度。倡导XBRL国际化的XBRL国际指导委员会也早在1999q?月成立,q国注册会计师协会与EDGAR在线、微软、普华永道等12家公司共同组?目前世界各国已经?50多个机构参加了该l织?</td> </tr> </tbody> </table> <img src ="http://www.tkk7.com/SIDNEY/aggbug/102585.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/SIDNEY/" target="_blank">渠上?/a> 2007-03-08 13:31 <a href="http://www.tkk7.com/SIDNEY/archive/2007/03/08/102585.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>使用 TreeView IE Web 控ghttp://www.tkk7.com/SIDNEY/archive/2007/01/12/93359.html渠上?/dc:creator>渠上?/author>Fri, 12 Jan 2007 03:21:00 GMThttp://www.tkk7.com/SIDNEY/archive/2007/01/12/93359.htmlhttp://www.tkk7.com/SIDNEY/comments/93359.htmlhttp://www.tkk7.com/SIDNEY/archive/2007/01/12/93359.html#Feedback0http://www.tkk7.com/SIDNEY/comments/commentRss/93359.htmlhttp://www.tkk7.com/SIDNEY/services/trackbacks/93359.html

Scott Mitchell
2003 q?7 ?br />适用于:Microsoft] ASP.NET

摘要Q?/b>了解 TreeView Web 控gQƈ学习如何?ASP.NET Web 应用E序中?TreeView Web 控g。除了标准的 ASP.NET Web 控gQ例?TextBox、DropDownList、DataGrid、DataList {)之外QMicrosoft q发布了附加?Web 控g集,以充分发?Internet Explorer 的固有功能。这些新 Web 控gUCؓ Internet Explorer Web 控gQ也UCؓ IE Web 控gQ共包括四种控gQTreeView Web 控g是其中之一。(本文包含一些指向英文站点的链接。)

下蝲 TreeViewControl.msi

目录

?/a>
安装 IE Web 控g
IE Web 控g入门
TreeView IE Web 控g入门
TreeView 的其他高U功?/a>

?/font>

?2002 q_Microsoft] 发布了四U?ASP.NET Web 控gQ用于ؓ使用 Microsoft Internet Explorer ?Web 讉K者提供更好的体验。这?Web 控gUCؓ Internet Explorer Web 控gQ也UCؓ IE Web 控gQ包括以下四U控Ӟ

  • MultiPage Web 控g
  • TabStrip Web 控g
  • Toolbar Web 控g
  • TreeView Web 控g

q些 Web 控g通过提供 Web 讉K者熟悉的用户界面Q增Z ASP.NET Web 面。例如,Toolbar Web 控g可以昄一个与各种 Microsoft Office 产品中的工具栏相cM的可单击工具栏。TabStrip ?MultiPage Web 控g配合使用后可以显C选项卡式内容。TreeView Web 控g可以用来昄可单凅R可展开的树中的数据 - 与在 Microsoft Windows] 资源理器中用树来显C?PC 文gpȝ中的驱动器和文g夹很cM。(您可以在 GotDotNet 站点扑ֈq些 Web 控g的生动演C:WebControl Toolbar 演示?a >TabStrip/MultiPage WebControl 演示?TreeView Sample WebControl 演示。)

IE Web 控g可以在安装了 .NET Framework 版本 1.0 ?1.1 ?Web 服务器上使用。尽?IE Web 控g是设计用来与 Internet Explorer 配合使用的,但这?Web 控g也可以显C在其他览器中。不q,?Internet Explorer 以外的浏览器中,当用户与 IE Web 控g交互Ӟ例如展开 TreeView Web 控g中的某个节点Q,会发生回传。在 Internet Explorer 5.5 或更高版本中QIE Web 控g会发?DHTML 代码Q从而避免了回传的发生。也是_在访问您?Web 站点Ӟ使用 Internet Explorer 5.5 或更高版本的讉K者将会比使用其他览器的用户获得更好的用户体验;当然Q没有?IE 5.5 或更高版本的用户仍可以看?IE Web 控gQƈ可以与之q行交互?/p>

下面Q本文将主要介绍 TreeView IE Web 控gQƈ讨论如何使用此控件在 ASP.NET Web 面中显C数据。有兛_?IE Web 控g的详l信息,请参?Internet Explorer Web Controls Overview ?Internet Explorer Web Controls Reference?/p> 安装 IE Web 控g

要在 ASP.NET Web 应用E序中?IE Web 控gQ首先必M载控件的源代码,然后q行一个编译批处理文gQ对源代码进行编译ƈ所需的所有文件复制到相应?Web 应用E序目录中?a >Internet Explorer Web 控g下蝲E序?/a>是一个大ؓ 360 KB 的自解压安装文g?/p>

下蝲q安装完 IE Web 控g后,创Z个新目录Q默认ؓ C:\Program Files\IE Web Controls\Q您也可以在安装q程中配|此目录Q。找到这个新目录Q然后双?build.bat 文g。这创Z个新的子目录 buildQ编?src 子目录中的类Qƈ生成的E序集和支持文g复制?build 子目录中?/p>

q行?build.bat 文g后,build 子目录将包含E序集文?Microsoft.Web.UI.WebControls.dll 和子目录 Runtime。要?ASP.NET Web 应用E序中?IE Web 控gQ必d build\Runtime 子目录中的内容复制到 Web 应用E序?/webctrl_client/1_0 子目录中Qƈ程序集文g (Microsoft.Web.UI.WebControls.dll) 复制?Web 应用E序?/bin 子目录中。(?IE Web 控g?README.txt 文g中,提供了示例以及执行这些Q务的命o行指令。)

IE Web 控g入门

如果使用的是 Microsoft Visual Studio] .NET 来开?ASP.NET Web 应用E序Q则?IE Web 控gd?ASP.NET Web |件轻杄事。首先,?IE Web 控g包含在工L中。要完成q项操作Q请叛_ ToolboxQ工LQ,然后选择 Customize ToolboxQ自定义工具)选项。选择 .NET Framework ComponentsQ?NET Framework lgQ选项卡,然后单击 BrowseQ浏览)按钮。找?Microsoft.Web.UI.WebControls.dll E序集文Ӟ然后单击 OKQ确定)。这会将 MultiPage、TabStrip、Toolbar ?TreeView {?IE Web 控gd?Visual Studio .NET 工具׃。要以上控件中的Q何一U添加到 ASP.NET Web 中Q只需要将相应的控件从工具拖攑ֈ设计器中卛_?/p>

要在内含代码的类中?IE Web 控gQ首先需要右?ReferenceQ引用)Q然后选择 Add ReferenceQ添加引用)Q将引用d?Microsoft.Web.UI.WebControls.dll E序集中。然后,在内含代码的cMQ如果用的?C# Q则d using Microsoft.Web.UI.WebControlsQ如果用的?Microsoft Visual Basic] .NETQ则d Imports Microsoft.Web.UI.WebControls?/p>

如果不是使用 Visual Studio .NET 作ؓ ASP.NET Web 应用E序~辑器,则需要在 ASP.NET Web 늚端手动d以下 @Register 指oQ?/p>

<%@ Register TagPrefix="whatever" 
          Namespace="Microsoft.Web.UI.WebControls"
         Assembly="Microsoft.Web.UI.WebControls" %>

然后Q将 IE Web 控gd?Web 中Q可以用以下语法:

<whatever:WebControlName runat="server" ...>
  ...
</whatever:WebControlName>

例如Q要d TreeView 控gQ可以在面端d以下 @Register 指oQ?/p>

<%@ Register TagPrefix="iewc" 
         Namespace="Microsoft.Web.UI.WebControls"
         Assembly="Microsoft.Web.UI.WebControls" %>

接着Q在 ASP.NET Web 中希望昄 TreeView 的位|添加以?Web 控g语法Q?/p>

<iewc:TreeViewrunat="server" ...>
  ...
</iewc:TreeView>
TreeView IE Web 控g入门

?TreeView IE Web 控g在访问者浏览器中显C时Q会昄一|Q此树与 Windows 资源理器中的树非常cM。不同的是,TreeView 可以׃Q意多?TreeNode 对象l成。每?TreeNode 对象都可以关联文本和囑փ。另外,TreeNode q可以显CZؓ链接ƈ与某?URL 相关联。每?TreeNote q可以包括Q意多个子 TreeNote 对象。包?TreeNode 及其子节点的层次l构构成?TreeView 控g所呈现的树l构?/p>

假设您要构徏一个用于显C家q TreeView 控g。由于信息基本上不需要改动,因此您可能希望静态地指定 TreeView l构。如果用的?Visual Studio .NETQ则静态指?TreeView l构像填写几䆾表格一L单。首先,通过?TreeView 控g从工L拖放到设计器中,新?TreeView 控gd?ASP.NET Web 中。然后,?TreeView 控g?ID 属性设|ؓ tvFamilyTree。完成这两个步骤后,您的屏幕应该?b>?1 cM?/p>

?1Q简单的 TreeView

现在Q要静态指定组?TreeView ?TreeNode。请?PropertiesQ属性)H格中选择 NodesQ节点)属性,然后单击此属性右侧的省略h钮。这时将昄 TreeNodeEditorQTreeNode ~辑器)对话框。现在可以将新的 TreeNode d?TreeView 中?b>?2 昄了输入家族树信息后的 TreeNodeEditorQTreeNote ~辑器)对话框?/p>

?2QTreeNodeEditorQTreeNote ~辑器)对话?

填充 TreeNodeEditorQTreeNote ~辑器)对话框后Q以下标记将被添加到 ASP.NET Web 늚 .aspx 部分Q?/p>

<ie:TreeView id="tvFamilyTree" runat="server">
   <ie:TreeNode Text="John Smith">
      <ie:TreeNode Text="Born: Jan. 3rd, 1885"></ie:TreeNode>
      <ie:TreeNode Text="Died: Feb. 13, 1919"></ie:TreeNode>
      <ie:TreeNode Text="Spouse">
         <ie:TreeNode Text="Marie Ellsworth">
            <ie:TreeNode Text="Born: Aug. 1, 1889"></ie:TreeNode>
            <ie:TreeNode Text="Died: Unknown"></ie:TreeNode>
         </ie:TreeNode>
         <ie:TreeNode Text="Children">
            <ie:TreeNode Text="John Smith, Jr.">
               <ie:TreeNode Text="Born: July 4, 1891"></ie:TreeNode>
               <ie:TreeNode Text="Died: Sept. 22, 1893"></ie:TreeNode>
            </ie:TreeNode>
            <ie:TreeNode Text="Mary Smith">
               <ie:TreeNode Text="Born: June 7, 1893"></ie:TreeNode>
               <ie:TreeNode Text="Died: Aug. 13, 1949"></ie:TreeNode>
               <ie:TreeNode Text="Spouse">
                  <ie:TreeNode Text="Edward Joy">
                     <ie:TreeNode Text="Born: Unknown"></ie:TreeNode>
                     <ie:TreeNode Text="Died: Aug. 13, 
                       1949"></ie:TreeNode>
                  </ie:TreeNode>
                  <ie:TreeNode Text="Children">
                     <ie:TreeNode Text="Michael Joy">
                        <ie:TreeNode Text="Born: Oct. 8,
                          1918"></ie:TreeNode>
                     </ie:TreeNode>
                     <ie:TreeNode Text="Michele Joy">
                        <ie:TreeNode Text="Born: May 21, 
                          1920"></ie:TreeNode>
                     </ie:TreeNode>
                  </ie:TreeNode>
               </ie:TreeNode>
            </ie:TreeNode>
         </ie:TreeNode>
      </ie:TreeNode>
   </ie:TreeNode>
</ie:TreeView>

如果不是使用 Visual Studio .NET 作ؓ~辑器,则需要将此内Ҏ动添加到 ASP.NET Web c当通过览器查?ASP.NET Web |Q将昄一可展开的树Q如?3 所C。(?3 昄了展开各个节点后的树。默认情况下Q将仅显C根节点。您可以讄 TreeNote ?Expanded 属性,以指C首ơ查看此面时该 TreeNote 应ؓ展开状态。)

?3Q展开?TreeNote

除了文本标签以外QTreeNote q可以关联图像。尤其值得说明的是Q每?TreeNote 可以兌三幅囑փQ当 TreeNote 处于标准Q折叠)状态时昄一q图像;?TreeNote 处于展开状态时昄另一q图像;?TreeNote 处于选中状态(当用户单?TreeNote Ӟ该节点变为选中状态)时显C第三幅囑փ。这三种属性都需要一个指向指定图像的 URL?/p>

例如Q可以通过以下Ҏ展开家族树演C:?TreeView ?ImageUrl 属性设|ؓ指向某个闭合的文件夹囑փ?URLQ将 TreeView ?ExpandedImageUrl 属性设|ؓ指向某个打开的文件夹囑փ?URLQ从而分别将折叠和已展开?TreeNote 昄为闭合的文g夹和打开的文件夹。(如果要ؓ选定?TreeNote 换一q图像,只需要将 TreeView ?SelectedImageUrl 属性设|ؓ相应?URL 卛_。)

h意,TreeView ?TreeNote 都具?ImageUrl?code class="ce">ExpandedImageUrl ?SelectedImageUrl 属性。不同的是,当设|?TreeView 的属性时Q默认情况下QTreeView ?i>所?/i> TreeNote 都将昄指定的图像; 如果讄 TreeNote 的属性,则这些属性仅适用于当前特定的 TreeNote。由于我们希望所?TreeNote 处于折叠状态时昄为闭合的文g夹,处于展开状态时昄为打开的文件夹Q因此我们对 TreeView 控g?ImageUrl ?ExpandedImageUrl 属性进行了讄?/p>

讄完这些新属性后Q?b>?3 的外观增色很多。在新的 TreeView 外观中,TreeNote 旁边都显C有囑փQ如?4 所C?/p>

?4Q带囑փ?TreeNote

TreeNote 也可以关?URL。当单击兌?URL ?TreeNote Ӟ会自动将用户快速链接到指定?URL。TreeNote ?NavigateUrl 属性用于指C当单击 TreeNote 时将用户链接到的 URL。该功能对于包含两个H框?ASP.NET Web 非常有用。左侧窗框中包含一?TreeView 控g。当用户单击某个 TreeNote Ӟ该节点的详细信息显C在右侧H框中,q与?Windows 资源理器中单击左侧H格中的某个pȝ文g夹,该文件夹的文件将昄在右侧窗g的情形类伹{?/p>

要关?URLQ只需要将每个 TreeNote ?NavigateUrl 讄为相应的 URL。要?TreeNote 的关?URL 加蝲到其他浏览器H框中,请将 TreeNote ?Target 属性设|ؓ相应的窗框名U。这些步骤都可以通过 TreeNodeEditorQTreeNote ~辑器)来完成。要查看此类应用E序的示例,请参?Steve Sharrock 关于使用 TreeView 创徏资源理器风格的 ASP.NET Web 应用E序的文章:TreeView - Programming an Explorer-style Site View?/p> TreeView 的其他高U功?/font>

虽然使用 Visual Studio .NET 静?TreeNote d?TreeView 的过E非常简单,但通常需要将内容动态地d?TreeView 中。例如,您将家族树信息存储到了数据库中,或是正在设计一个资源管理器风格?Web 应用E序Q在此应用程序中Q用户可以浏?Web 服务器的文gpȝQ,q时您可能需要根据服务器的文件夹和文件来动态填?TreeNote?/p>

在内含代码的cMQ可以通过~程方式?TreeNote d?TreeView 中。要新?TreeNote d到现有的 TreeNote 中,只需要?Nodes 属性的 Add() Ҏ。例如,以下 C# 代码创Z?TreeNoteQƈ第二个 TreeNote d为第一?TreeNote 的子节点。然后,第一个子节点d?TreeView 的根节点中?/p>

// 创徏W一?TreeNote
TreeNode tvFirst = new TreeNode();
tvFirst.Text = "First Tree Node";

// 创徏W二?TreeNote
TreeNode tvSecond = new TreeNode();
tvSecond.Text = "Second Tree Node";

// 第二个 TreeNote d为第一?TreeNote 的子节点
tvFirst.Nodes.Add(tvSecond);

// 第一?TreeNote d?TreeView 的根节点中?
tvFamilyTree.Nodes.Add(tvFirst);

遗憾的是Q将数据库数据绑定到 TreeView 可不像将数据l定到某个标?ASP.NET Web 控g那么单。因?TreeView 本n用于昄分层数据Q所以不太适合昄?SQL 查询的结果。因此,TreeView 不是用来昄?SQL 查询的内容的Q而是用来昄 XML 文g的内宏V所以,Z便于?TreeView 中显C数据库信息Q必首先将其{换ؓ XML?/p>

而且Q虽然可以在 TreeView 控g中显C静态或动?XML 文gQ但是,TreeView 要求 XML 数据h特定的格式。因此,要在 TreeView 中显C?XML 文gQ必L?XSLT 样式表,以将 XML 从当前格式{换到 TreeView 要求的格式。有兛_何完成此d的详l信息,请参阅我的文章:Displaying XML Data in the Internet Explorer TreeView Control?/p>

此外QTreeView ?TreeNote 除了支持囑փ和超链接之外Q其旁边q可以包含复选框。而且Q当用户展开或折?TreeNoteQ选择 TreeNoteQ或者选中或取消选中带有复选框?TreeNote Ӟ都会引发相应的事件。可以ؓq些事g创徏事g处理E序Q以自定义这些事件引发的相应操作?/p>

在本文中Q我们简要地介绍?IE Web 控g以及如何获得和安装这些控Ӟq详l讨Z如何使用 TreeView IE Web 控g。TreeView 控g的显C方式类g标准?Windows TreeViewQ可通过?Windows 资源理器中q行操作来体验)。TreeView 用来昄分层数据Q可以由L多个 TreeNote l成Q每?TreeNote 又可以包含Q何多个子 TreeNote?/p>

可以用多U不同的方式自定?TreeNote 的外观。例如,可以为处于折叠、展开和选中状态的 TreeNote 分别指定不同的图像。当单击 TreeNote ӞTreeNote 可以作ؓ链接将讉K者重定向到其?URL。TreeNote q可以包含复选框?/p>

使用 Visual Studio .NET q借助 TreeNote ~辑器可以很Ҏ地实现在 TreeView 中显C静态数据。通过 XML 文g或通过以编E方式添?TreeNoteQ可以动态指?TreeView 控g的内宏V虽然本文介l的仅是 TreeView 控g的皮毛,但对于您初步了解?ASP.NET Web 应用E序中?TreeView 控g也是大有帮助的?/p>

情享受~程的乐吧Q?/p>

推荐链接Q?/h3>

]]>配置HTTP讉KSQL Server 2005 Analysis服务?/title><link>http://www.tkk7.com/SIDNEY/archive/2007/01/10/92962.html</link><dc:creator>渠上?/dc:creator><author>渠上?/author><pubDate>Wed, 10 Jan 2007 08:56:00 GMT</pubDate><guid>http://www.tkk7.com/SIDNEY/archive/2007/01/10/92962.html</guid><wfw:comment>http://www.tkk7.com/SIDNEY/comments/92962.html</wfw:comment><comments>http://www.tkk7.com/SIDNEY/archive/2007/01/10/92962.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/SIDNEY/comments/commentRss/92962.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/SIDNEY/services/trackbacks/92962.html</trackback:ping><description><![CDATA[ <table cellspacing="0" cellpadding="0" width="575" border="0"> <tbody> <tr> <th class="f24"> </th> </tr> <tr> <td> <p align="center"> </p> </td> </tr> <tr> <td> </td> </tr> <tr> <td class="title_side" align="middle" height="20"> </td> </tr> </tbody> </table> <div class="xhbrdd1" id="article"> <table cellspacing="0" cellpadding="0" width="575" border="0"> <tbody> <tr> <td height="3"> </td> </tr> <tr> <td valign="bottom" align="right"> <font color="#ff0000"><a >win2003</a>  <a >sql server</a>  <a >os</a>   </font></td> </tr> <tr> <td class="height170"> <font class="f14" id="zoom"> <span id="text999"> <br />  其HTTP讉K机制和SQL2000 Analysis 的一P通过在IIS中增加应用程序映(ISAPI扩展Q来实现对Analysis服务器的讉K <p>具体步骤如下Q?br /> 我的机器环境WIN2003+IIS <a target="_blank">SQL Server</a> 2005 BETA3</p><p>1、确定msmdpump.dll文g所在SQLSERVER2005目录的位|,当前它处于下面目录中<br /> C:\Program Files\Microsoft SQL Server\MSSQL.2\OLAP\bin\isapi <br />2、徏立一虚拟目录指向该目录 ,如下<br /> 2?建立一?OLAP 的虚拟目?br /> <img alt="配置HTTP讉KSQL Server 2005 Analysis服务器(图一Q? src="http://www.qqread.com/ArtImage/20060521/jg35_1.jpg" border="0" /></p><p align="center"><span id="ad_qqread_mid_big"><iframe name="google_ads_frame" marginwidth="0" marginheight="0" src="http://pagead2.googlesyndication.com/pagead/ads?client=ca-pub-1572879403720716&dt=1168419115274&lmt=1157009297&alternate_ad_url=http%3A%2F%2Fwww.qqread.com%2F0000js%2Fgoogle336.htm&prev_fmts=468x15_0ads_al_s&format=336x280_as&output=html&channel=6686853775&url=http%3A%2F%2Fwww.qqread.com%2Fsqlserver%2F2006%2F05%2Fp357112052.html&color_bg=EDF0F5&color_text=000000&color_link=0000FF&color_url=008000&color_border=EDF0F5&ad_type=text_image&ref=http%3A%2F%2Fwww.google.com%2Fsearch%3Fq%3Dsql%25202005%2520http%2520olap%26hl%3Dzh-CN%26lr%3D%26nxpt%3D10.804570955182005319093&cc=24&u_h=768&u_w=1024&u_ah=738&u_aw=1024&u_cd=32&u_tz=480&u_java=true" frameborder="0" width="336" scrolling="no" height="280" allowtransparency=""></iframe></span></p><br /> 2?使该虚拟目录指向C:\Program Files\Microsoft SQL Server\MSSQL.2\OLAP\bin\isapi 目录<br /> <img alt="配置HTTP讉KSQL Server 2005 Analysis服务器(图二Q? src="http://www.qqread.com/ArtImage/20060521/jg35_2.jpg" border="0" /><br /> 2?使该虚拟目录h执行权限<br /> <img alt="配置HTTP讉KSQL Server 2005 Analysis服务器(图三Q? src="http://www.qqread.com/ArtImage/20060521/jg35_3.jpg" border="0" /><br />3、ؓOLAP虚拟目录增加应用E序映射Q把.DLLh转ؓ msmdpump.dll处理Q如?br /> <img alt="配置HTTP讉KSQL Server 2005 Analysis服务器(囑֛Q? src="http://www.qqread.com/ArtImage/20060521/jg35_4.jpg" border="0" /><br />好了Q配|基本完成了Q现在你可以启动SQL Server Management Studio应用E序通过地址 http://crserver/olap/msmdpump.dllq接刊WSQL Server 2005 Analysis,如图<br /> <a target="_blank"><img alt="配置HTTP讉KSQL Server 2005 Analysis服务器(图五Q? src="http://www.qqread.com/ArtImage/20060521/jg35_5.jpg" border="0" /></a><br /> <a target="_blank"><img alt="配置HTTP讉KSQL Server 2005 Analysis服务器(囑օQ? src="http://www.qqread.com/ArtImage/20060521/jg35_6.jpg" border="0" /></a><p></p><p>你也怼奇怪ؓ什么http://crserver/olap/msmdpump.dll会自动找到机器中的SQL Server 2005 Analysis实例Q其实在C:\Program Files\Microsoft SQL Server\MSSQL.2\OLAP\bin\isapi 目录下有一个叫msmdpump.ini的配|文Ӟ它就是通过q个配置文g定位的,内容如下Q?br /> <ConfigurationSettings><br />  <ServerName>localhost</ServerName><br />  <SessionTimeout>3600</SessionTimeout><br />  <ConnectionPoolSize>100</ConnectionPoolSize><br /> </ConfigurationSettings><br /> <br />在这个配|文件中QServerName除了可以为机器名、机器名\实例名外Q还可以为URL地址Q如<servername>http://***/***/msmdpump.dll</servername><br /></p></span> </font> </td> </tr> </tbody> </table> </div> <img src ="http://www.tkk7.com/SIDNEY/aggbug/92962.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/SIDNEY/" target="_blank">渠上?/a> 2007-01-10 16:56 <a href="http://www.tkk7.com/SIDNEY/archive/2007/01/10/92962.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>配置HTTP讉KSQL Server 2005 Analysis服务?/title><link>http://www.tkk7.com/SIDNEY/archive/2007/01/10/92961.html</link><dc:creator>渠上?/dc:creator><author>渠上?/author><pubDate>Wed, 10 Jan 2007 08:56:00 GMT</pubDate><guid>http://www.tkk7.com/SIDNEY/archive/2007/01/10/92961.html</guid><wfw:comment>http://www.tkk7.com/SIDNEY/comments/92961.html</wfw:comment><comments>http://www.tkk7.com/SIDNEY/archive/2007/01/10/92961.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/SIDNEY/comments/commentRss/92961.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/SIDNEY/services/trackbacks/92961.html</trackback:ping><description><![CDATA[ <table cellspacing="0" cellpadding="0" width="575" border="0"> <tbody> <tr> <th class="f24"> </th> </tr> <tr> <td> <p align="center"> </p> </td> </tr> <tr> <td> </td> </tr> <tr> <td class="title_side" align="middle" height="20"> </td> </tr> </tbody> </table> <div class="n55b515" id="article"> <table cellspacing="0" cellpadding="0" width="575" border="0"> <tbody> <tr> <td height="3"> </td> </tr> <tr> <td valign="bottom" align="right"> <font color="#ff0000"><a >win2003</a>  <a >sql server</a>  <a >os</a>   </font></td> </tr> <tr> <td class="height170"> <font class="f14" id="zoom"> <span id="text999"> <br />  其HTTP讉K机制和SQL2000 Analysis 的一P通过在IIS中增加应用程序映(ISAPI扩展Q来实现对Analysis服务器的讉K <p>具体步骤如下Q?br /> 我的机器环境WIN2003+IIS <a target="_blank">SQL Server</a> 2005 BETA3</p><p>1、确定msmdpump.dll文g所在SQLSERVER2005目录的位|,当前它处于下面目录中<br /> C:\Program Files\Microsoft SQL Server\MSSQL.2\OLAP\bin\isapi <br />2、徏立一虚拟目录指向该目录 ,如下<br /> 2?建立一?OLAP 的虚拟目?br /> <img alt="配置HTTP讉KSQL Server 2005 Analysis服务器(图一Q? src="http://www.qqread.com/ArtImage/20060521/jg35_1.jpg" border="0" /></p><p align="center"><span id="ad_qqread_mid_big"><iframe name="google_ads_frame" marginwidth="0" marginheight="0" src="http://pagead2.googlesyndication.com/pagead/ads?client=ca-pub-1572879403720716&dt=1168419115274&lmt=1157009297&alternate_ad_url=http%3A%2F%2Fwww.qqread.com%2F0000js%2Fgoogle336.htm&prev_fmts=468x15_0ads_al_s&format=336x280_as&output=html&channel=6686853775&url=http%3A%2F%2Fwww.qqread.com%2Fsqlserver%2F2006%2F05%2Fp357112052.html&color_bg=EDF0F5&color_text=000000&color_link=0000FF&color_url=008000&color_border=EDF0F5&ad_type=text_image&ref=http%3A%2F%2Fwww.google.com%2Fsearch%3Fq%3Dsql%25202005%2520http%2520olap%26hl%3Dzh-CN%26lr%3D%26nxpt%3D10.804570955182005319093&cc=24&u_h=768&u_w=1024&u_ah=738&u_aw=1024&u_cd=32&u_tz=480&u_java=true" frameborder="0" width="336" scrolling="no" height="280" allowtransparency=""></iframe></span></p><br /> 2?使该虚拟目录指向C:\Program Files\Microsoft SQL Server\MSSQL.2\OLAP\bin\isapi 目录<br /> <img alt="配置HTTP讉KSQL Server 2005 Analysis服务器(图二Q? src="http://www.qqread.com/ArtImage/20060521/jg35_2.jpg" border="0" /><br /> 2?使该虚拟目录h执行权限<br /> <img alt="配置HTTP讉KSQL Server 2005 Analysis服务器(图三Q? src="http://www.qqread.com/ArtImage/20060521/jg35_3.jpg" border="0" /><br />3、ؓOLAP虚拟目录增加应用E序映射Q把.DLLh转ؓ msmdpump.dll处理Q如?br /> <img alt="配置HTTP讉KSQL Server 2005 Analysis服务器(囑֛Q? src="http://www.qqread.com/ArtImage/20060521/jg35_4.jpg" border="0" /><br />好了Q配|基本完成了Q现在你可以启动SQL Server Management Studio应用E序通过地址 http://crserver/olap/msmdpump.dllq接刊WSQL Server 2005 Analysis,如图<br /> <a target="_blank"><img alt="配置HTTP讉KSQL Server 2005 Analysis服务器(图五Q? src="http://www.qqread.com/ArtImage/20060521/jg35_5.jpg" border="0" /></a><br /> <a target="_blank"><img alt="配置HTTP讉KSQL Server 2005 Analysis服务器(囑օQ? src="http://www.qqread.com/ArtImage/20060521/jg35_6.jpg" border="0" /></a><p></p><p>你也怼奇怪ؓ什么http://crserver/olap/msmdpump.dll会自动找到机器中的SQL Server 2005 Analysis实例Q其实在C:\Program Files\Microsoft SQL Server\MSSQL.2\OLAP\bin\isapi 目录下有一个叫msmdpump.ini的配|文Ӟ它就是通过q个配置文g定位的,内容如下Q?br /> <ConfigurationSettings><br />  <ServerName>localhost</ServerName><br />  <SessionTimeout>3600</SessionTimeout><br />  <ConnectionPoolSize>100</ConnectionPoolSize><br /> </ConfigurationSettings><br /> <br />在这个配|文件中QServerName除了可以为机器名、机器名\实例名外Q还可以为URL地址Q如<servername>http://***/***/msmdpump.dll</servername><br /></p></span> </font> </td> </tr> </tbody> </table> </div> <img src ="http://www.tkk7.com/SIDNEY/aggbug/92961.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/SIDNEY/" target="_blank">渠上?/a> 2007-01-10 16:56 <a href="http://www.tkk7.com/SIDNEY/archive/2007/01/10/92961.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>如何删除WINDOWS服务http://www.tkk7.com/SIDNEY/archive/2007/01/03/91536.html渠上?/dc:creator>渠上?/author>Wed, 03 Jan 2007 06:55:00 GMThttp://www.tkk7.com/SIDNEY/archive/2007/01/03/91536.htmlhttp://www.tkk7.com/SIDNEY/comments/91536.htmlhttp://www.tkk7.com/SIDNEY/archive/2007/01/03/91536.html#Feedback0http://www.tkk7.com/SIDNEY/comments/commentRss/91536.htmlhttp://www.tkk7.com/SIDNEY/services/trackbacks/91536.html

]]>
c# send email componethttp://www.tkk7.com/SIDNEY/archive/2006/11/28/84058.html渠上?/dc:creator>渠上?/author>Tue, 28 Nov 2006 07:13:00 GMThttp://www.tkk7.com/SIDNEY/archive/2006/11/28/84058.htmlhttp://www.tkk7.com/SIDNEY/comments/84058.htmlhttp://www.tkk7.com/SIDNEY/archive/2006/11/28/84058.html#Feedback1http://www.tkk7.com/SIDNEY/comments/commentRss/84058.htmlhttp://www.tkk7.com/SIDNEY/services/trackbacks/84058.html/*

 * Copyright 2003-2004, Axosoft, LLC

 * You are free to distribute this code royalty-free as you wish, however, we only ask

 * that you leave this copyright notice at the top of the source file giving Axosoft

 * credit for this source code.  If you find any bugs or want to contribute your

 * enhancements, please send them to support@axosoft.com.

 *

 * Visit Axosoft at http://www.axosoft.com

 */

 

using System;

using System.Collections;

using System.Net;

using System.Net.Sockets;

using System.Text;

 

namespace WindowsApplication1

{

 public class SmtpException : ApplicationException

 {

  public SmtpException(string message) : base(message)

  {

  }

 }

 

 ///

 /// Indicates the type of message to be sent

 ///

 public enum MessageType

 {

  ///

  /// The message is plain text

  ///

  Text = 0,

  ///

  /// The message is HTML

  ///

  HTML = 1

 }

 

 ///

 /// A mail message that can be sent using the Smtp class

 ///

 public class MailMessages

 {

  private string _emailFrom = "";

  public string EmailFrom

  {

   get { return _emailFrom; }

   set { _emailFrom = value; }

  }

 

  private string _emailSubject = "";

  public string EmailSubject

  {

   get { return _emailSubject; }

   set { _emailSubject = value; }

  }

 

  private ArrayList _emailTo = null;

  public ArrayList EmailTo

  {

   get { return _emailTo; }

  }

  public void AddEmailTo(string email)

  {

   if(_emailTo == null)

    _emailTo = new ArrayList();

   _emailTo.Add(email);

  }

 

  private string _emailMessage = "";

  public string EmailMessage

  {

   get { return _emailMessage; }

   set { _emailMessage = value; }

  }

 

  private MessageType _emailMessageType = MessageType.Text;

  public MessageType EmailMessageType

  {

   get { return _emailMessageType; }

   set { _emailMessageType = value; }

  }

 }

 

 ///

 /// This class allows sending of e-mails through Smtp

 /// For help on SMTP, look up http://www.faqs.org/rfcs/rfc821.html

 ///

 public class Smtp

 {

  #region Class properties

  private string _serverSmtp = "";

  public string SmtpServer

  {

   get { return _serverSmtp; }

   set { _serverSmtp = value; }

  }

 

  private int _portSmtp = 25;

  public int SmtpPort

  {

   get { return _portSmtp; }

   set { _portSmtp = value; }

  }

 

  private string _userSmtp = "";

  public string SmtpUser

  {

   get { return _userSmtp; }

   set { _userSmtp = value; }

  }

 

  private string _passwordSmtp = "";

  public string SmtpPassword

  {

   get { return _passwordSmtp; }

   set { _passwordSmtp = value; }

  }

 

  #endregion

 

  public Smtp()

  {

  }

 

  #region Public methods

  ///

  /// Sends the e-mail based on the properties set for this object

  ///

  public void SendEmail(MailMessages msg)

  {

   int code;

 

   if(_serverSmtp == "" || msg.EmailFrom == "" || msg.EmailSubject == "" || msg.EmailTo == null)

   {

    throw new SmtpException("Invalid Smtp or email parameters.");

   }

 

   // open a connection to the Smtp server

   using(TcpClient smtpSocket = new TcpClient(_serverSmtp, _portSmtp))

   using(NetworkStream ns = smtpSocket.GetStream())

   {

    // get response from Smtp server

    code = GetSmtpResponse(ReadBuffer(ns));

    if(code != 220)

    {

     throw new SmtpException("Error connecting to Smtp server. (" + code.ToString() + ")");

    }

 

    // EHLO

    WriteBuffer(ns, "ehlo\r\n");

    // get response from Smtp server

    string buffer = ReadBuffer(ns);

    code = GetSmtpResponse(buffer);

    if(code != 250)

    {

     throw new SmtpException("Error initiating communication with Smtp server. (" + code.ToString() + ")");

    }

    // check for AUTH LOGIN

    if(buffer.IndexOf("AUTH LOGIN") >= 0)

    {

     // AUTH LOGIN

     WriteBuffer(ns, "auth login\r\n");

     // get response from Smtp server

     code = GetSmtpResponse(ReadBuffer(ns));

     if(code != 334)

     {

      //throw new SmtpException("Error initiating Auth=Login. (" + code.ToString() + ")");

     }

 

     // username:

     WriteBuffer(ns, System.Convert.ToBase64String(ASCIIEncoding.ASCII.GetBytes(_userSmtp)) + "\r\n");

     // get response from Smtp server

     code = GetSmtpResponse(ReadBuffer(ns));

     if(code != 334)

     {

      //throw new SmtpException("Error setting Auth user name. (" + code.ToString() + ")");

     }

 

     // password:

     WriteBuffer(ns, System.Convert.ToBase64String(ASCIIEncoding.ASCII.GetBytes(_passwordSmtp)) + "\r\n");

     // get response from Smtp server

     code = GetSmtpResponse(ReadBuffer(ns));

     if(code != 235)

     {

      //throw new SmtpException("Error setting Auth password. (" + code.ToString() + ")");

     }

    }
    

 

    // MAIL FROM:

    WriteBuffer(ns, "mail from: <" + msg.EmailFrom + ">\r\n");

    // get response from Smtp server

    code = GetSmtpResponse(ReadBuffer(ns));

    if(code != 250)

    {

     throw new SmtpException("Error setting sender email address. (" + code.ToString() + ")");

    }

 

    // RCPT TO:

    foreach(string sEmailTo in msg.EmailTo)

    {

     WriteBuffer(ns, "rcpt to:<" + sEmailTo + ">\r\n");

     // get response from Smtp server

     code = GetSmtpResponse(ReadBuffer(ns));

     if(code != 250 && code != 251)

     {

      throw new SmtpException("Error setting receipient email address. (" + code.ToString() + ")");

     }

    }

 

    // DATA

    WriteBuffer(ns, "data\r\n");

    // get response from Smtp server

    code = GetSmtpResponse(ReadBuffer(ns));

    if(code != 354)

    {

     throw new SmtpException("Error starting email body. (" + code.ToString() + ")");

    }

 

    // Repeat the from and to addresses in the data section

    WriteBuffer(ns, "from:<" + msg.EmailFrom + ">\r\n");

    foreach(string sEmailTo in msg.EmailTo)

    {

     WriteBuffer(ns, "to:<" + sEmailTo + ">\r\n");

    }

    WriteBuffer(ns, "Subject:" + msg.EmailSubject + "\r\n");

    switch(msg.EmailMessageType)

    {

     case MessageType.Text:

      // send text message

      WriteBuffer(ns, "\r\n" + msg.EmailMessage + "\r\n.\r\n");

      break;

 

     case MessageType.HTML:

      // send HTML message

      //WriteBuffer(ns, "MIME-Version: 1.0\r\n");

      //WriteBuffer(ns, "Content-type: text/html;charset=GB2312\r\n");

      //WriteBuffer(ns, "Content-type: text/plain; charset=gb18030\r\n");

      //Content-Type: text/plain; charset=ISO-8859-1
      //Content-transfer-encoding: base64
      //WriteBuffer(ns, "Content-transfer-encoding: base64\r\n");
         WriteBuffer(ns, "\r\n" + msg.EmailMessage + "\r\n.\r\n");

      break;

    }

    // get response from Smtp server

    code = GetSmtpResponse(ReadBuffer(ns));

    if(code != 250)

    {

     throw new SmtpException("Error setting email body. (" + code.ToString() + ")");

    }

 

    // QUIT

    WriteBuffer(ns, "quit\r\n");

   }

  }

  #endregion

 

  #region Private methods

  ///

  /// Looks for an Smtp response code inside a repsonse string

  ///

  /// The response string to be searched

  /// The int value of the Smtp reponse code

  private int GetSmtpResponse(string sResponse)

  {

   int response = 0;

   int iSpace = sResponse.IndexOf(" ");

   int iDash = sResponse.IndexOf("-");

   if(iDash > 0 && iDash < iSpace)

    iSpace = sResponse.IndexOf("-");

 

   try

   {

    if(iSpace > 0)

     response = int.Parse(sResponse.Substring(0, iSpace));

   }

   catch(Exception)

   {

    // error - ignore it

   }

 

   return response;

  }

 

  ///

  /// Write a string to the network stream

  ///

  /// The network stream on which to write

  /// The string to write to the stream

  private void WriteBuffer(NetworkStream ns, string sBuffer)

  {

   try

   {

    byte[] buffer = Encoding.ASCII.GetBytes(sBuffer);

    ns.Write(buffer, 0, buffer.Length);

   }

   catch(System.IO.IOException)

   {

    // error writing to stream

    throw new SmtpException("Error sending data to Smtp server.");

   }

  }

 

  ///

  /// Reads a response from the network stream

  ///

  /// The network stream from which to read

  /// A string representing the reponse read

  private string ReadBuffer(NetworkStream ns)

  {

   byte[] buffer = new byte[1024];

   int i=0;

   int b;

   int timeout = System.Environment.TickCount;

 

   try

   {

    // wait for data to show up on the stream

    while(!ns.DataAvailable && ((System.Environment.TickCount - timeout) < 20000))

    {

     System.Threading.Thread.Sleep(100);

    }

    if(!ns.DataAvailable)

     throw new SmtpException("No response received from Smtp server.");

 

    // read while there's data on the stream

    while(i < buffer.Length && ns.DataAvailable)

    {

     b = ns.ReadByte();

     buffer[i++] = (byte)b;

    }

   }

   catch(System.IO.IOException)

   {

    // error reading from stream

    throw new SmtpException("Error receiving data from Smtp server.");

   }

 

   return Encoding.ASCII.GetString(buffer);

  }

  #endregion

 }

}

 



]]>
Theadhttp://www.tkk7.com/SIDNEY/archive/2006/11/27/83900.html渠上?/dc:creator>渠上?/author>Mon, 27 Nov 2006 14:24:00 GMThttp://www.tkk7.com/SIDNEY/archive/2006/11/27/83900.htmlhttp://www.tkk7.com/SIDNEY/comments/83900.htmlhttp://www.tkk7.com/SIDNEY/archive/2006/11/27/83900.html#Feedback1http://www.tkk7.com/SIDNEY/comments/commentRss/83900.htmlhttp://www.tkk7.com/SIDNEY/services/trackbacks/83900.html
2.当线ESleepӞpȝ退出执行队列一D|_当睡眠结束时Q系l会产生一个时钟中断,从?br />使线E回到执行队列中Q从而恢复线E的执行?br />
3.如果父线E先于子U程l束Q那么子U程在父线E结束的同时被迫l束。Thread.Join()Ҏ使父U程{待Q直到子U程l束?br />Abort()Ҏ带来的后果是不可恢复的终止线E?br />
4.起始U程可以UCZU程Q如果所有的前台U程都停止了Q那么主U程可以l止Q而所有的后台U程都将无条件终止?br />后台U程跟前台线E只有一个区别,那就是后台线E不妨碍E序的终止。一旦一个进E所有的前台U程都终止后QCLR
通过调用L一个存zM的后台进E的Abort()Ҏ来彻底终止进E?br />
6.挂vQ睡眠(都可UCؓQ-dQ暂停)
与Thread.Sleep 不同QThread.Suspend 不会使线E立卛_止执行。直到线E到辑֮全点之后它才可以该U程挂v。如果线E尚
未启动或已经停止Q则它将不能挂v。调?Thread.Resume 另一个线E蟩出挂L态ƈ使该U程l箋执行?br />一个线E不能对另一个线E调用Sleep Q但是一个线E可以对另一个线E调用Suspend?br />q可以用许多其它的方式来阻塞线E。例如,可以通过调用 Thread.Join 使一个线E等待另一个线E(子线E)停止。?br />Monitor.Wait使一个线E等待访问一个同步对象?br />
5.关键字lock可以把一D代码定义ؓ互斥D(critical sectionQ,互斥D在一个时d只允怸个线E进入执行,而其他线E必ȝ待?br />多线E公用一个对象时Q就不应该用lock关键字了Q这里MonitorQMonitor提供了ɾU程׃n资源的方案?
Monitorcd以锁定一个对象,一个线E只有得到这把锁才可以对该对象进行操作?br />如:
Monitor.Enter(obj);
//现在oQueue对象只能被当前线E操U了
Monitor.Exit(obj);

6.一个进E开始时臛_会有一个主U程 ( 即主执行实例 ) Q这是在pȝ加蝲你的E序的时候所创徏的主执行程?br />而消息队列则是与U程 ( Thread ) 相关的,在似win2k上一个线E有一个且只有一个消息队?( queue ) 与之相对应?br />消息队列是在什么时候生成的呢? 在似win2kpȝ上,从一开始创建线E就已经有了?br />一个线E可以创建多个窗体。统发送给q些H口的消息都l一发送到同一?消息队列 中,q怺消息l构中有msg.hwnd指出该条消息?br />哪一个窗口相养I DispatchMessage() 函数是依照q个保证消息分派处理自动化而且不会出错Q?br />
7.每个H体都属于创建它的线E,在一U程中直接访或间接问其它U程中的H体的方法将Dq行旉误(VS2005Q?br />解决ҎQ用窗体从Controll承而来的Control.InvokeQDelegateQ方法。该Ҏ在创徏H体的线E上执行委托指向的方法?br />注意Q在VS2003下,可以在一个线E中直接或间接调用另一个线E中的窗体的ҎQ而不会导致运行时错误?br />

]]>
不该错的问题:IsPostBack in ASP.NET, Programming with DataGrid 选择?dingsea ?Blog http://www.tkk7.com/SIDNEY/archive/2006/08/17/64132.html渠上?/dc:creator>渠上?/author>Thu, 17 Aug 2006 07:13:00 GMThttp://www.tkk7.com/SIDNEY/archive/2006/08/17/64132.htmlhttp://www.tkk7.com/SIDNEY/comments/64132.htmlhttp://www.tkk7.com/SIDNEY/archive/2006/08/17/64132.html#Feedback0http://www.tkk7.com/SIDNEY/comments/commentRss/64132.htmlhttp://www.tkk7.com/SIDNEY/services/trackbacks/64132.html?现在才发?原来在ASP.NET中IsPostBack属性是多么的重?.....

一般是在page_load中检查是否是W一ơ加载本|是判断是否是用户提交(PostBack)
if (!IsPostBack) {
//do something
}
在用DataGrid讉K和更新数据库时没有注意到q个问题,会出现各U各L奇怪问?比如我的q种.

问题描述:
        用DataGrid讉K和更新数据库(SQL Server --Northwind --table name:categories --Query :select categoryID,categoryName,Description form categories ),除了更新操作以外,其它功能OK.对DataGridq行如下操作:点击“编辑”,相应的行数据变ؓ可编辑,同时~辑按钮被“更新”和“取消”代ѝ对数据q行~辑Q如把Description中的AAA改ؓBBB。再点“更新”按钮。本意是想用此方法将修改后的数据QBBBQ代替数据库中原有的AAAQ当然是用UpdateҎ了。但在点“更新”后Q数据没有改变,我做q测试,UPDATEҎ是有效的Q也是_UPDATEҎ更新的不是新数据Q而是没有修改前的旧数据,造成数据没有更新Q实际上是更CQ。要注意的是我的Page_Load事g如下
private void Page_Load(object sender, System.EventArgs e)
  {
   // 在此处放|用户代码以初始化页?/font>
   OleAd.Fill(ds);//OleAd--oledbAdapter
   dg.DataBind();//dg--DataGrid
  }

分析问题Q个人推,h正)Q?br />        ׃没有用IsPostBack判断是否是第一ơ加载此面Q所以不什么情况下只要有PostBackQ都会对dg(DataGrid)q行数据l定。所以在q行M的sumbit后,dg都会L据库l定数据而不理会面中的数据?br />        当对选中的数据进行修改完毕后Q在点“更新”时,提交此页面修改的数据Q而马上遇到Page_Load事gQ不{对修改数据q行处理Q服务器先生成原页面(MS用这U方法提高速度Q)Q发现dg.DataBind()Q执行之Q于是放弃数据库更新Q于是看不到更新l果了?br />
解决问题Q?br />        解决倒是很简单,Page_Load事g中加上对IsPostBack的判断就可以了?br />private void Page_Load(object sender, System.EventArgs e)
  {
   // 在此处放|用户代码以初始化页?/font>
   OleAd.Fill(ds);//OleAd--oledbAdapter
    if(!IsPostBack)
{
   dg.DataBind();//dg--DataGrid
}
  }



]]>
visual studio.net已检到指定的web服务器运行的不是asp.net1.1版。无法运行asp.net web应用E序http://www.tkk7.com/SIDNEY/archive/2006/07/25/59918.html渠上?/dc:creator>渠上?/author>Tue, 25 Jul 2006 01:33:00 GMThttp://www.tkk7.com/SIDNEY/archive/2006/07/25/59918.htmlhttp://www.tkk7.com/SIDNEY/comments/59918.htmlhttp://www.tkk7.com/SIDNEY/archive/2006/07/25/59918.html#Feedback0http://www.tkk7.com/SIDNEY/comments/commentRss/59918.htmlhttp://www.tkk7.com/SIDNEY/services/trackbacks/59918.html
1.你的Web服务器用了固定IPQ确定你的“Internet信息服务”中使用的是“默认web站点”ƈ且其属性中的IP地址为“(全部未分配)”,而不是你己指定的ip地址。然后在回到VS.NET中重试,或许可以解决。?br />2.以上Ҏ不能解决问题Ӟ考虑MSDN中的解决办法Q如下: 
Visual Studio .NET 无法定在 Web 服务器计机上运行的是否为 ASP.NET 1.1 版。该错误可能在几U不同情况下发生。请查是否属于以下情况: 
• 确保?NET Framework 1.1 版安装在 Web 服务器计机上。有兌l信息,请参见 Visual Studio .NET 软g要求。?br />• 如果 ASP.NET 已安装在 Web 服务器计机上,但仍焉到此错误Q则可能是配|问题。ؓ了纠正有问题的安装或配置Q可以用名为 aspnet_regiis 的 ASP.NET 实用工具。在cM如下所C的路径中可以找到此命o行实用工P 
C:\WINDOWS\Microsoft.NET\Framework\v1.1.nnnn\ 
其中 nnnn 表示四位内部版本受在最高版本号下查找。用?i 开兌行该实用工具Q?br />aspnet_regiis /i 
提示   您可以从命o的正目录中直接打开该命令窗口。从 Windows 的“开始”菜单,指向“程序”、“Visual Studio .NET 2003”、“Visual Studio .NET 工具”,然后选择“Visual Studio .NET 命o提示”。在H口打开后,键入 aspnet_regiis /i?br />

]]>
վ֩ģ壺 AVվ | avһ| 97޳| ˮƵwwwƵ| ޾Һ| Ƶһ| ޳aƬ777777| һһƬһëƬ| Ƶ| Ļ1515hhþ| ѹۿ˾þѹۿ| ˳߹ۿa| ҹWWWʪˬ| 2016| ŷ͵ۺ| avavav߲| һպĻ | ޺ݺۺϾþþþ| ղƷϵ| Ҹ߳Ƶ| Ƭ뿴| ĻĻmv| ѿؼëƬ| ҵijdzӪѹۿ| è˳վ߹ۿ| ޱר| ŷһ| ձþþҹƷ| ޹Ƶ| һ߹ۿվ | Ļѹۿַ| A߹ۿƵ| ƵƷ| 91ɫۺϾþѷ| ޾ƷѹۿƵ| þþþav| 7723ձ| ƷԺ| òƵѸ| jyzzjyzzƵ| ݹѾþþ|