当前位置导航:炫浪网>>网络学院>>网页制作>>XML/WebService教程

为网站添加业务层

 也叫中间层,是网站的精髓,掌控应用程序的业务逻辑。

        (文中例子只为说明问题,可以有错误地方,不可照抄)

        1.连接数据库

                1)打开sql 连接

                2)执行数据库操作,返回数据     (黄金法制:尽可能晚打开数据库,尽快关闭)

                3)关闭数据库连接

            建立连接的类是:SqlConnection,指定三个重要的参量:sql实例名、访问数据库授权信息、数据库名

        例子:

  SqlConnection connection =new sqlconnection

        connection.connectionstring="Sever=;user id=psd=database=;"

        connection.Open();

        2.提交命令于执行存储过程

              1)创建SqlCommand对象:

        主要作用是:可以讲于数据库交互的信息保存起来,他存放的是要执行的sql语句和存储过程的名字;当然也包括存储过程的参数。

           SqlCommand command = new SqlCommand();

               comand.Connection = connection;

              command.CommandText = "Gegdd";

         command.CommandType = CommandType.StoreProcedure;

            2)执行命令和关闭连接

        这是值得自豪的时候,在创建完连接和sqlcommand对象后,就可以准备执行命令了。执行完应该马上关闭数据库连接。

          这里将要介绍多种执行方法(Exccute):ExcuteNonQuery、ExcuteScalar和ExcuteReader

        ExcuteNonQuery用于执行不返回任何记录的sql语句和存储过程,如更新、插入、删除操作时,常用此法。他可以返回一个整数值,用来说明影响的行数。

        connectionOpen();

        command.ExcuteNonQuety();

        command.Close();

            ExcuteScalar也是返回一个单值,但是他不是返回一个影响的行数,而是从数据库里面读取的数据,如果用select查询得到多行数据,那么返回第一行第一列的数据

        ExecuteReader返回多条记录。他返回一个SqlDataReader对象,一个SqlDataReader对象是以顺序向前且只读的形式逐个读取并返回结果的。他的优点它是取数最快的对象,不利的一面是需要打开连接,在连接关闭前无法使用同一个连接执行其他任何数据库操作。在我们的解决方案种,通过SqldataReader取回所有记录,存入DataTable中(他可以存储数据而不打开连接),这样可以马上关闭数据库。

        -----------------------------------------------

        DataTable的分类是DataSet,他是个非常强大的对象,像一个内存中的数据库,他能存储数据表、他们的数据类型、表间关系等。正是因为他的负责行,dataset会消耗很多内存,所有避免使用他。

        ------------------------------------------------

        经典代码:

        conn.open();

        sqldataReader reader=comm.ExecuteReader();     // 和上文所说的,ExcuteReader返回一个SqlDataReader

        DataTable table=new Datatable();

        table.Load(reader);

        reader.Close();

        conn.Closer();

相关内容
赞助商链接