Lae's Blog

CODE LIFE --像蚂蚁一样工作,像蝴蝶一样生活

  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
  22 随笔 :: 0 文章 :: 16 评论 :: 1 引用

公告

2005年8月29日 #

Microsoft Enterprise Library June 2005--Data Access Application Block访问Oracle数据库(1)

  前几日有幸拜读了Rickie Lee的《Microsoft patterns & practices Enterprise Library系列分析文章》(请参见http://rickie.cnblogs.com/archive/2005/02/21/104472.aspx)。赶紧去网站下载了Microsoft patterns & practices Enterprise Library,并安装使用。下面是我利用Enterprise Library实现访问oracle,并完成添加,删除,修改等数据库操作.
   1.新建一个windows应用程序解决方案,使用Enteprise Library配置工具创建配置文件(这些在Rickie Lee的文章已经有详细描述,我就不多写了)。
    这是我的配置文件
    ================App.config===================================
    <configuration>
  <configSections>
    <section name="enterpriselibrary.configurationSettings" type="System.Configuration.IgnoreSectionHandler, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
  </configSections>
  <enterpriselibrary.configurationSettings xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" applicationName="Application" xmlns="http://www.microsoft.com/practices/enterpriselibrary/08-31-2004/configuration">
  <configurationSections>
    <configurationSection name="dataConfiguration" encrypt="false">
      <storageProvider xsi:type="XmlFileStorageProviderData" name="XML File Storage Provider" path="dataConfiguration.config" />
      <dataTransformer xsi:type="XmlSerializerTransformerData" name="Xml Serializer Transformer">
        <includeTypes />
      </dataTransformer>
    </configurationSection>
  </configurationSections>
  <keyAlgorithmStorageProvider xsi:nil="true" />
  <includeTypes />
</enterpriselibrary.configurationSettings>
</configuration>

======================dataConfiguration.config========================
<?xml version="1.0" encoding="utf-8"?>
<dataConfiguration>
  <xmlSerializerSection type="Microsoft.Practices.EnterpriseLibrary.Data.Configuration.DatabaseSettings, Microsoft.Practices.EnterpriseLibrary.Data, Version=1.1.0.0, Culture=neutral, PublicKeyToken=null">
    <enterpriseLibrary.databaseSettings xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" defaultInstance="Oracle Instance" xmlns="http://www.microsoft.com/practices/enterpriselibrary/08-31-2004/data">
      <databaseTypes>
        <databaseType name="Oracle Server" type="Microsoft.Practices.EnterpriseLibrary.Data.Oracle.OracleDatabase, Microsoft.Practices.EnterpriseLibrary.Data, Version=1.1.0.0, Culture=neutral, PublicKeyToken=null" />
      </databaseTypes>
      <instances>
        <instance name="Oracle Instance" type="Oracle Server" connectionString="Oracle Connection String" />
      </instances>
      <connectionStrings>
        <connectionString xsi:type="OracleConnectionStringData" name="Oracle Connection String">
          <parameters>
            <parameter name="pwd" value="zl" isSensitive="true" />
            <parameter name="uid" value="zl" isSensitive="false" />
            <parameter name="server" value="workserver" isSensitive="false" />
          </parameters>
          <packages />
        </connectionString>
      </connectionStrings>
    </enterpriseLibrary.databaseSettings>
  </xmlSerializerSection>
</dataConfiguration>

2.程序运行的主界面
 

3.程序代码如下:

//注意命名空间的引用
using Microsoft.Practices.EnterpriseLibrary.Data;
using Microsoft.Practices.EnterpriseLibrary.Configuration;




4.存储过程代码如下:
create or replace procedure DeleteTest
(aId in varchar2)
is
begin
     delete * from test where id=aid;
end;

create or replace procedure InsertTest
(aId in varchar2,aName in varchar2)
is
begin
     insert into test(id,name) values(aid,aname);
end;

create or replace procedure UpdateTest
(aId in varchar2,aName in varchar2)
is
begin
     update test set name=aName where id = aId;
end;






















































posted @ 2005-08-29 17:16 lae 阅读(854) 评论(2) 编辑

 

命名规范

 

1.利用Pascal的方式定义类型、方法名和常量

public class SomeClass

{

        const int DefaultSize = 10;

        public SomeMethod()

        {}

}

2.对于局部变量和方法的参数使用Camel命名法

 int number;

 void MyMethod(int someNumber)

 {}

3.接口的名称前加上I

  interface IMyInterface

  {…}

4.在私有成员变量前面加上m_。对于m_后面的变量名使用Camel命名法

  public class SomeClass

  {

              private int m_Number;

}

5.对自定义的属性类加上Attribute

6.对自定义的异常类加上后缀Exception

7.方法的命名使用动词---对象对,例如ShowDialog()

8.有返回值的方法的命名中要有对返回值的描述,例如GetObjectState()

9.使用带有说明性的变量名

  a)避免单字符的变量名,例如it等。使用类似于indextemp这样有意义的名字。

b)对于publicprotected类型的变量避免使用匈牙利表示法。

  c)不要所需单词(例如用num取代number)

10.总是使用C#预定义的类型而不要使用在System名称空间中的别名,例如:

   使用objec而不是Object

   使用string而不是String

   使用int而不是Int32

11.在使用泛型的时候,类型的首字母要大写。当处理.NET中的Type类型的时候.保留Type后缀。(C#2.0新特性)

    //正确

    public class LinkedList<K,T>

      {…}

      // 避免

    public class LinkedList<KeyType,DataType>

    {…}

12.使用有意义的名字定义名称空间。例如产品名或者公司名。

13.避免通过全限定方式使用类型名称,使用using关键字。

14.避免在一个名称空间中使用using关键字。

15.把所有系统框架提供的名称空间组织到一起,把第三方提供的名称空间放到系统名称空间的下面

   using System;

   using System.Collection.Generic;

   using MyCompany;

   using MyControls;

16.使用代理推导而不要显式的实例化一个代理。(C# 2.0)

   delegate void SomeDelegate()

   public void SomeDelegate()

   {…}

   SomeDelegate someDelegate = SomeMethod;

17.维护严格的代码缩进。不是使用tabs或非标准的缩进,例如一个空格。推荐的缩进是34个空格。

18.在和你的代码缩进处于同一个级别处为该行代码添加注释。

19.所有的注释都应该通过拼写检查。注释中错误的拼写意味着开发进度的延缓。

20.所有的类成员变量应该被声明在类的顶部,并用一个空行把它们和方法以及属性的声明区分开

   public class MyClass

     {

              int m_Number;

        string m_Name;

 

        public void SomeMethod();

        public void SomeMethod2();

}

21.在最靠近一个局部变量被使用的地方声明该局部变量。

22.一个文件名应该能反映它所对应的类名。

23.当使用一个部分类并把该类分布到不同的文件中时,在每一个文件名末尾都加上该文件实现的部分在类整体中扮演的作用。例如:

  //in MyClass.cs

  Public partial class MyClass

  {…}

  //in MyClass.Designer.cs

  Public partial calss MyClass

  {…}

24.总是要把花括号“{”放在新的一行.

posted @ 2005-08-29 14:18 lae 阅读(499) 评论(0) 编辑

看了这么多的人在Internet创建自己的blog,记下自己的工作,学习,以及生活。。。今天我终于也创建了一个属于自己的blog,感谢了。希望我能通过它认识更多的朋友,更多的.net爱好者,谢谢大家!

posted @ 2005-08-29 13:46 lae 阅读(91) 评论(0) 编辑