分类

  • 软件天地

  • C#的OLE DB方式SQL Server编程‖
    版本各方面都有很大的变化
    普遍改用了OLE DB的方式。
    Bete 2版本中的SQL Server
    中文Beta 2版本推出已有一段时
    ,其中包括SQL Server编程方面
    由于数据库编程是企业级应用开
    编程方法。
    日了,相比早期的Beta 1版本,新
    ,在中文Beta 2中,数据库的存取
    发的核心,本文将举例阐述中文


      初始设置

      首先,我们需在应用系
    SQL Server (SQL OLE D也
    一个叫tyjdb的数据库,并
    四个字段。
    统中安装SQL Server 2000,Mic
    会同时被自动安装,接着用SQL
    新建一名为address的数据表,

    rosoft OLE DB Provider for
    Server的Enterprise Manager创建
    其含name、email、age和address


      打开VS开发环境中的视
    他各种OLE DB的数据库连接
    属性选择Microsoft OLE DB
    试连接成功后按确定。使用
    图选单项中的服务器资源管理器
    ,并可以管理其中的数据。接着
    Provider for SQL server,然
    该工具可又快又准地生成需要的
    ,该管理器可管理SQL Server及其
    我们添加一个新的数据连接,连接
    后选好服务器及数据库tyjdb,测
    数据库连接字符串。

      连接数据库

      新建一个ASP.NET项目或Windows.NET
    服务器资源管理器中的数据连接拖至新建
    如下:
    应用程序,因为二者的数据库存取程序是相同的。将
    的Web Form上即可,这时自动生成了一个连接字符串


      this.sqlConnection1.ConnectionString     
      = "data source=WHOAMI;                                 
      initial catalog=tyjdb;                                 
      integrated security=SSPI;                           
      persist security info=False;                     
      workstation id=WHOAMI;                                 
      packet size=4096";                                         
      其中WHOAMI为笔者的服务器名。                                           

      选取工具箱中的SqlDataAdapter并拖
    使用SQL语句访问数据库,生成SQL语句时
    生成代码如下:
    至该Web Form,提示时选取tyjdb的数据连接,选择
    只填入SELECTFROM ADDRESS,确认完成即可。程序


      protected System.Dat
    a.SqlClient.SqlDataAdapter s
    qlDataAdapter1;
      //存取数据库的主要类                                                       
      protected System.Data.SqlClient.
    SqlCommand sqlSelectCommand1;
      //SQL语句处理的类                                                       
      protected System.Dat
    a.SqlClient.SqlConnection sq
    lConnection1;
      //连接数据库的类                                                           
      在InitializeComponent()中有如下声明:                   
      this.sqlConnection1
    = new System.Data.SqlClient.
    SqlConnection();
      this.sqlDataAdapter1
    = new System.Data.SqlClient
    .SqlDataAdapter();
      this.sqlSelectCommand1 = new Sys
    tem.Data.SqlClient.SqlCommand();
      this.sqlDataAdapter1.SelectComma
    nd = this.sqlSelectCommand1;
      this.sqlSelectComman
    address";
    d1.CommandText = "SELECT nam

    e, email, age, address FROM

      this.sqlSelectComman
    d1.Connection = this.sqlConn
    ection1;

      为使Table中数据能在Web Form中显
    Page_Init中加入如下语句:
    示,加入一个DataGrid控件至Web Form上,并在


      sqlConnection1.Open();                                 
      //打开数据库连接                                                           
      DataSet objDataset;                                       
      //新建一个放数据的DataSet                                           
      objDataset=new DataSet();                           

      sqlDataAdapter1.Fill
    (objDataset, "address");
      //将数据填入DataSet                                                 
      DataGrid1.DataSource
    =objDataset.Tables["address"
    ].DefaultView;
      //关联DataSet和DataGrid                                     
      DataGrid1.DataBind();                                   
      //绑定数据                                                                 
      sqlConnection1.Close();                               
      //关闭数据库连接                                                           

      编译执行后Web Form已可将数据库中数据显示在DataGrid中了。     

      增加数据

      若想增加数据库数据时,我们只需在
    增一个按键,接着为该按键增加Click事
    Web Form上新增对应字段数量个数的TextBox,并新
    件,具体代码如下:

      sqlInsertCommand1.Pa
    rameters["@name"].Value=Text
    Box1.Text;
      //将TextBox赋值给对应参数                                           
      sqlInsertCommand1.Parameters["@e
    mail"].Value=TextBox2.Text;
      sqlInsertCommand1.Pa
    rameters["@age"].Value=TextB
    ox3.Text;
      sqlInsertCommand1.Pa
    rameters["@address"].Value=T
    extBox4.Text;
      sqlInsertCommand1.Connection.Open();     
      //打开连接                                                                 
      sqlInsertCommand1.ExecuteNonQuery();     
      //执行Insert语句                                                     
      sqlInsertCommand1.Connection.Close();   
      //关闭连接                                                                 
      sqlConnection1.Open();                                 
      DataSet objDataset;                                       
      //下面程序段更新DataGrid                                           
      objDataset=new DataSet();                           
      sqlDataAdapter1.Fill(objDataset,
    "address");
      DataGrid1.DataSource
    =objDataset.Tables["address"
    ].DefaultView;
      DataGrid1.DataBind();                                   

      执行这段程序时,只需在TextBox中
    添加功能。
    填入要添加的记录字段的值,然后按该按键即可执行


      删除数据

      若想删除数据库数据时,我们则需在
    增加如下代码:
    Web Form上新增一个TextBox5及一个按键,为该按键


      SqlCommand sqlDelete
    Command1 = new System.Data.S
    qlClient.SqlCommand();
      //声明Sql Command类对象                                         
      this.sqlDataAdapter1
    .DeleteCommand = sqlDeleteCo
    mmand1;
      sqlDeleteCommand1.CommandText="D
    NAME='"+TextBox5.Text+"'";
    ELETE FROM ADDRESS WHERE

      //SQL语句                                                               
      sqlDeleteCommand1.Connection = t
    his.sqlConnection1;
      //声明使用的数据连接                                                       
      sqlDeleteCommand1.Connection.Open();     
      sqlDeleteCommand1.ExecuteNonQuery();     
      //执行该SQL语句                                                         
      sqlDeleteCommand1.Connection.Close();   

      执行这段程序时,只需
    执行删除功能。
    在TextBox5中填入要删除的记录

    name字段的值,然后按该按键即可


      更新操作原理都类同,
    ,这里限于篇幅不一一叙述
    具体开发中可以有许多技巧丰富
    了。
    完善上述程序,如增加错误处理等


      综上可知,充分利用Vi
    量极有好处。
    sual Studio.NET的⒒肪忱?br>
    简化程序设计对提高编程效率和质


      上述程序均用C#开发,
    Studio.NET中文Beta 2环境
    在中文Windows 2000 Server、S
    下,编译并正常运行,中文显示
    QL Server 2000、Visual
    正常。

    上一页 下一页




    map