zoukankan      html  css  js  c++  java
  • ADO.Net技术

    Connection对象

    1.连接数据库

    通过SqlConnection对象的State属性判断数据库的连接状态:

    public override ConnectionState State{ get;}

    属性值:ConnectionState枚举

    枚举值              说明

    Broken               与数据源的连接中断

    Closed               连接处于关闭状态

    Connecting       连接对象正在与数据源连接

    Executing                   连接对象正在执行命令

    Fetching            连接对象正在检索数据

    Open                  连接处于打开状态

    Try

    {

    string conStr = “server=.;database=hmliang;uid=sa;pwd=”;

    SqlConnection conn = new SqlConnection(conStr);

    conn.Open();

    if (conn.State == ConnectionState.Open)

    {

    }

    conn.Close();

    //conn.Dispose();

    }

    catch{}

    2.关闭连接

    Close方法用于关闭一个连接。

    Dispose方法不仅关闭连接,而且还清理连接所占用的资源。

    注:在编写应用程序时,对数据库操作完成后,要及时关闭数据库的连接,以防止在对数据库进行其他操作时数据库被占用。

    Command对象

    1.3个重要的属性:

    a).Connection属性用于设置SqlCommand使用的SqlConnection

    b).CommandText属性用于设置要对数据源执行的的SQL语句或存储过程

    c).CommandType属性用于设置指定CommandText的类型。

    CommandType枚举成员:

    StoredProcedure:存储过程的名称

    TableDirect:表的名称

    Text:SQL文本命令

    SqlCommand cmd = new SqlCommand();

    cmd.Connection = conn;

    cmd.CommandText = “SELECT COUNT(*) FROM A”;

    cmd.CommandType = CommandType.Text;

    int i = Convert.ToInt32(cmd.ExecuteScalar());

    2.执行SQL语句

    1).ExecuteNonQuery方法

    执行SQL语句,并返回受影响的行数。

    public override int ExecuteNonQuery();

    2).ExecuteReader方法

    执行SQL语句,并生成一个包含数据的SqlDataReader对象的实例。

    public SqlDataReader ExecuteReader()

    SqlDataReader sdr = cmd.ExecuteReader();

    while(sdr.Read())

    {

    sdr[1].ToString();

    }

    Sdr.Close();

    3).ExecuteScalar方法

    执行SQL语句,返回结果集中的第一行的第一列

    public override Object ExecuteScalar()

    DataReader对象

    1.判断查询结果中是否有值

    public override bool HasRows{ get;};

    2.读取数据

    public override bool Read()

    pulbic override bool Close()

    DataAdapter对象

    1.对象概述

    DataAdapter对象是一个数据适配器对象,是DataSet与数据源之间的桥梁。

    DataAdapter对象提供了4个属性,用于实现与数据源之间的互通:

    a).SelectCommand属性:向数据库发送查询SQL语句

    b).DeleteCommand属性:向数据库发送删除SQL语句

    c).InsertCommand属性:向数据库发送插入SQL语句

    d).UpdateCommand属性:向数据库发送更新SQL语句

    2.填充DataSet数据集

    Public int Fill(DataSet dataSet,string srcTable)

    dataSet:要用记录和架构(如果必要)填充的DataSet

    srcTable:用于表映射的源表的名称

    返回值:已在DataSet中成功添加或刷新的行数,这不包括受不返回行的语句影响的行。

    SqlDataAdapter sda = new SqlDataAdaper();

    sda.SelectCommand = cmd;

    DataSet ds = new DataSet();

    sda.Fill(ds, “cs”);

    3.更新数据源

    public int Update(DataTable dataTable)

    dataTable:用于更新数据源的DataTable

    返回值:DataSet中成功更新的行数

    // 创建一个DataTable

    DataTable dt = ds.Tables[“cs”];

    // 把表结构加载到tb_command表中

    sda.FillSchema(dt, SchemaType.Mapped);

    // 创建一个DataRow

    DataRow dr = dt.Rows.Find(txtNo.Text);

    // 设置DataRow中的值

    dr[“姓名”] = txtName.Text.Trim();

    // 实例化一个SqlCommandBuilder

    SqlCommandBuilder cmdBuilder = new SqlCommandBuilder(sda);

    // 调用其Update方法将DataTable更新到数据库中

    sda.Update(dt);

    注:在DataTable对象上可以多次使用Fill方法。如果主键存在,则传入会与已有的匹配行合并;如果主键不存在,则传入行会追加到DataTable中。

    DataSet对象

    1.概述

    DataSet对象就像存放于内存中的一个小型数据库。它可以包含数据表、列、行、视图、约束、以及关系。通常,DataSet的数据来源于数据库或者XML,为了从数据库中获取数据,需要使用数据适配器(DataAdapter)从数据库中查询数据。

    2.合并DataSet内容

    Public void Merge(

             DataSet dataSet,

             bool preserveChanges,

             MissingSchemaAction missingSchemaAction)

    dataSet:其数据和架构将被合并到DataSet中

    preserveChanges:要保留当前DataSet中的更改,则为true;否则为false

    missingSchemaAction:MissingSchemaAction枚举值之一

    MissingSchemaAction枚举成员及说明

    枚举成员         说明

    Add                     添加必需的列以完成架构

    AddWithKey     添加必需的列和主键信息以完成架构

    Error                  如果缺少指定的列映射,则生成InvalidOperationException

    Ignore                忽略额外列

    注:当DataSet对象为null时,无法进行合并。

    ds1.Merge(ds,true,MissingSchemaAction.AddWithKey);

    2.复制DataSet内容

    public DataSet Copy()

    《C#从入门到精通》读后总结

  • 相关阅读:
    ABB机器人的安全板短接详情
    基恩士HMI的跳转
    ABB 轴配置的使用(为什么需要关闭)
    ABB选项讲解
    法那科夹具夹取和放置的操作
    roboguide的夹具制作
    法那科机器人的基本介绍(创建文件)
    关于三菱触摸屏GT Designer3 仿真软件创建工程
    动态循环插入<option>,鼠标点击从数据库调取data
    ajax将众多行数组转json传入html页面循环传入table中
  • 原文地址:https://www.cnblogs.com/hmliang/p/5313796.html
Copyright © 2011-2022 走看看