[原]初识。net

 吉庆学长总结的很好:http://blog.csdn.net/jnqqls/article/details/6239215

从vb到vb.net

vb是基于对象的,vb.net是面向对象的。VB6.0是解释性语言,需要VB虚拟机加以解释执行(就是那个很大的DLL)  
Vb.net用的是.net框架(主要是针对新一代分布式网络应用的开发)   。VB6是独立的一个开发工具,vb.net则更象是一个可选语法,它和vc++.net和C#用的共同的runtime language,也就是说编译后它们就是一样的。

 什么是 VB.NET? Microsoft推出全新的编程和操作系统Framework——.NET,支持多种语言利用公共.NET库开发应用程序,这些应用程序在.NET Framework上运行。使用Visual Basic在.NET Framework上编程,这就是VB.NET。

.net框架

 [原]初识。net_第1张图片[原]初识。net_第2张图片

 

公共语言运行时(CLR)(common Language Runtime)

      l  提供了所有.NET程序语言执行时的服务。

           提供所有的.net程式的服务以及机制都一样。

           可以执行语言的沟通及继承。

     l  提供自动的记忆点管理。

           自动管理程式执行时的记忆点。

           自动执行资源的收集。

     l  提供COM元件的互通能力

     l  内建多执行者的执行能力

     [原]初识。net_第3张图片

基底类别库(BCL Base Class Library)

      l  提供开发各种解决方案时所需要使用的对象,加速开发解决方案的速度,不需要从头做起.

      l  所有的.NET语言皆使用同一组,开发小组可以选择不同的语言共同开发。

      l  将各种不同解决方案的模型一致化。

      [原]初识。net_第4张图片

 

.NET的开发

        首先是选择要开发的语言平台。

        [原]初识。net_第5张图片

NET应用程序开发方式

     l  表单式设计(窗体)Windows Form ,Web Form

     l  控制项对象:表单(窗体)、按钮、文字方向、下拉清单

           属性设定:控制项位置、行为、内容等

           事件:click、change……

           方法:open 、closing……

    l  面向对象程序设计

          将应用程序中的所有的元件(控件)控制项看作是对象,以oop方式的设计(类别的继承等)

    l  事件驱动方式程序设计

          事件:click   change ……

          事件处理程序:(Event Handler) :处理特定的事件的处理程序。

         .NET程序开发实际上就是物件导向程式开发(面向对象的程序开发)在.NET里面的所有的对象其行为就像是普通的对象一样。

 

对象的产生

        Vb.net和vb行为不同。

        Eg:Dim E as Employee 

                  E =new Employee(“Charlie Lin)

                Dim E as Employee =New Employee(“Charlie Lin”)

对象的销毁

        .net环境中开发人员不用自己摧毁物件(释放对象)

        l  .net 使用资源收集器(GC Garbage Collect )来摧毁物件

        l  GC会周期性的自动的执行,并收回没有被使用的物件。

对象的方法

        Method

初始化对象

       一般用构造函数初始化对象比较方便。

       Eg  dim  E as Employee  E=New Employee(Charlie lin)

 

重载

        Overload=多个名字相同的方法。

        Eg:

        

Public Class Employee

     Public Name as String 

     Public Pay Decimal

     Public Sub New (ByVal Name As String)

        Me.Name=Name

     End sub 

Public Sub New (ByVal Name AS String ,ByVal Pay As Decimal)

        Me.Name=Name

        Me.Pat=Pay

End sub

End Class

      属性的操作

     Dim E as Employee

     E=New Employee(“Charlie Lin”,10000D)

      属性的使用。

      E.Balance=E.balance +2000D

     属性的set和get方法。

       Eg:

       

Public Class Employee 

   Private m_Name As String 

   Private m_Pay As Decimal

   Public Property Pay() As Decimal

     Get 

      Return Me.m_Pay

     End Get

   Set (ByVal Value As Decimal)

    If Value>-0 Then 

      Me.m_pay=value

    End if 

   End set 

End class

窗体的应用程式

       System.Windows.Forms 命名空间

       System.Windows.Forms命名空间中定义了Winforms应用程式所需要的类别。

       所有的表单(forms)均集成自Form类。

      [原]初识。net_第6张图片

事件驱动的应用程式

       所有者的动作。

 

      事件中加入或是移除另一个事件处理。

Private Sub cmd1_Click(……)

    AddHandler txt.TextChanged

End sub

Private Sub Common_TextChanged(….)

    Globals.Changed=true

End sub

 Vb.net 的控件与vb6进行比较

        控件的属性方法事件都基本相似。

 

ADO.NET架构

                                                                           ADO.NET架构

                                       [原]初识。net_第7张图片[原]初识。net_第8张图片

                                     

       l  Dataset

         中断连接的核心元件。

         能够独立各种资料(数据库)来源进行资料存取操作。

         内含由一个或是多个datatable物件组成的集合。

        l  .NET FrameWork资料提供者

            Connection 物件(对象)。

            Command物件。

             Datamand物件。

             DataReader物件。

             DataAdapter物件。

             [原]初识。net_第9张图片

       。net Framework 内附有四类。Net资料提供者。

                 SQl Server.NET Framework资料提供者。

                 OLE DB .NET Framework资料提供者。

                 ODBC.NET Framework  资料提供者

                 Oracle.net Framework资料提供者。

 

          要使用。Net Framework 资料提供者要用Imports来引入命名空间(System.Data)

          [原]初识。net_第10张图片

          各种资料支持者所支持的版本是不同的。


连接资料库(数据库)

      1、  开放资料库(Connection 物件的open方法)

      2、  进行资料库的操和读取。

               操作:Command物件,DataReader物件,DataAdapter物件)

               读取:DataSet物件

       3、  关闭资料库的连接(Connection 中的close方法)

              Connection物件(对象)使用一个字符串的连接数据库。

              没有connection类而是各个资料库提供者有自己的连接类比。

              [原]初识。net_第11张图片

              例如:

Imports System.Data.SqlClient
Imports System.Data
Imports System.Object
Imports System

Public Class Form1

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        '建立一个SqlConnection对象
        Dim myConnection As New SqlConnection
        '指定用来开放SQL Server数据库的连接字符串
        myConnection.ConnectionString = _
            "Persist Security Info=False;Integrated Security=SSPI;Database=NorthernLights;" & _
            "User ID=sa ;Password=sa ;Server=(local);Connect Timeout=30"

        Try
            '开放连接
            myConnection.Open()
            '用来处理数据库程序异常
        Catch ex As Exception

            MessageBox.Show("无法连接到数据库")
        Finally
            '关闭数据库连接
            myConnection.Close()
            MessageBox.Show("数据库连接成功!")


        End Try

    End Sub

End Class

                        [原]初识。net_第12张图片

 

 

            Command 物件。

           用command对象是用来针对数据库中数据来源执行SQL陈述式或预存程序以便将数据返回至DataReader或DataSet中。

           不同的数据库中数据提供者有他们自己的命令类别。

                 SqlCommand类别。

                 OleDbCommand类别。

                 OdbcCommand类别。

                 OracleCommand类别。

              [原]初识。net_第13张图片[原]初识。net_第14张图片

               使用command命令来执行Transact—SQL语句。

                           SqlCommand.CommandText=”select * from Student “

                           SqlCommand.Connection=sqlConnection1

                          sqlCommand.CommandType=CommandType.Text

 

            DataReader物件。

            [原]初识。net_第15张图片

            DataReader物件就是所谓的资料汲取器。可以呼叫Command物件的ExecuteReader方法来取回。当存取到datareader物件时,数据库连接保持开放的状态。

           读取操作。

           [原]初识。net_第16张图片

         

 Dim sql, fn, ln, cnstr As String
        '定义连接数据库的字符串
        cnstr = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\HAIFANG\Desktop\Database11.accdb"

        '连接数据库
        Dim cn As OleDbConnection = New OleDb.OleDbConnection(cnstr)
        cn.Open()


        Dim dbReader As OleDb.OleDbDataReader
        '查询的sql语句
        sql = "Select * from Customers Order by LastName Asc,FristName Asc;"

        Dim dbCmd As New OleDb.OleDbCommand(sql, cn)
        dbCmd.Connection = cn
        '执行SQL指令,回掉DataReader
        dbReader = dbCmd.ExecuteReader()
        ' 读取数据库内容
        Do While dbReader.Read()
            '读取每一个值
            fn = System.Convert.ToString(dbReader("FristName"))
            ln = System.Convert.ToString(dbReader("LastName"))
            Me.ListBox1.Items.Add(ln + "," + fn)

        Loop

        '关闭数据库
        dbReader.Close()
        cn.Close()

    End Sub

          [原]初识。net_第17张图片

          

            DataAdapter物件。

            [原]初识。net_第18张图片

            就是所谓的资料适配器,担任DataSet物件资料来源的桥梁。

              DataAdaper物件使用command对象。

             [原]初识。net_第19张图片

             

             DataSet对象,将数据快速的放到数据库中。

             [原]初识。net_第20张图片

             建立数据集。

            DataSet(ByVal dataSetName As String)

                  Dim myDataSet As DataSet=New DataSet(“人事数据集”)

            DataAdapter的Fill方法。

            Fill方法会使用SelectCommand属性所指定的Select表达式从表总截取数据列,并将所提取的数据列存入DataSet内表中。

            如果数据集中不存在对应的表,Fill方法会建立数据库的表,然后再将数据列填入其中。

            如果对应的表已经存在,Fill方法会以目前所提取的资料列来重新整理数据库表的的数据列,以便保持一致。

            Fill方法会视情况自动的开放和关闭连接。

嘿嘿,没想到这会是 2011年最后一篇博客,2011再见!拥抱我们的2012!

 

 

 

 

 

 

 

 

 



 

作者:xhf55555 发表于2011-12-31 21:10:41 原文链接
阅读:96 评论:10 查看评论

你可能感兴趣的:(net)