用ado.net进行分布式程序设计更新数据库(学习笔记)

提供一个数据服务类,调用GetDataSet就得到需要的DataSet,然后在用户界面进行修改,最后调用SaveDate就可以把未定的更改保存到数据库。
using System;
using System.Data ;
using System.Data.SqlClient ;

namespace AsterDnet.DataBind
{
    /// <summary>
    /// Summary description for GetData.
    /// </summary>
    public class TestData
    {
        private SqlDataAdapter da;    
        public TestData()
        {
            //
            // TODO: Add constructor logic here
            //
        }
        public  DataSet GetDataSet()
        {
            
            string strConn="data source=ASTERDNET;initial catalog=Test;integrated security=SSPI;persist security info=False;user id=sa;workstation id=ASTERDNET;packet size=4096";
            SqlConnection conn=new SqlConnection(strConn);
            conn.Open();
            DataSet ds=new DataSet();

            SqlParameter workParam=new  SqlParameter();
            da=new SqlDataAdapter();
            //Build the select Command
            da.SelectCommand =new SqlCommand("select * from Education ",conn);
            da.Fill(ds,"Education");
            

            // Build the insert Command
            da.InsertCommand = new SqlCommand("Insert into Education (ID, Education) VALUES (@ID, @Education)", conn);

            workParam = da.InsertCommand.Parameters.Add("@ID", SqlDbType.Int);
            workParam.SourceColumn = "ID";
            workParam.SourceVersion = DataRowVersion.Current;

            workParam = da.InsertCommand.Parameters.Add("@Education", SqlDbType.NChar, 50);
            workParam.SourceVersion = DataRowVersion.Current;
            workParam.SourceColumn = "Education";

            // Build the update command
            da.UpdateCommand = new SqlCommand("Update Education Set Education = @Education WHERE ID = @ID" , conn);

            workParam = da.UpdateCommand.Parameters.Add("@ID", SqlDbType.Int);
            workParam.SourceColumn = "ID";
            workParam.SourceVersion = DataRowVersion.Original;

            workParam = da.UpdateCommand.Parameters.Add("@Education", SqlDbType.NChar, 50);
            workParam.SourceVersion = DataRowVersion.Current;
            workParam.SourceColumn = "Education";

            //Build the delete command
            da.DeleteCommand =new SqlCommand("delete from Education where id=@ID",conn);
            workParam=da.DeleteCommand.Parameters.Add("@ID",SqlDbType.Int );
            workParam.SourceColumn ="ID";
            workParam.SourceVersion =DataRowVersion.Original;

            return ds;
        }
        //save the change dataset
        public void SaveDate(DataSet dataSet,string tableName)
        {
            da.Update(dataSet,tableName);
        }

    }
}

例中我建立了一个Test的数据库,数据库中建立一个Education的表,表中建立了两个字段ID(int),Education(char),在rc3中通过。

感觉没有vb6.0用ado2.5中那么方便(只要设置ActiveConnection,然后update就一切搞定,现在要自己写如何更新的SqlCommand),不过程序员的控制能力要强一些了。

时间: 2024-12-27 21:47:48

用ado.net进行分布式程序设计更新数据库(学习笔记)的相关文章

用ado.net进行分布式程序设计更新数据库

ado|程序|分布式|设计|数据|数据库 提供一个数据服务类,调用GetDataSet就得到需要的DataSet,然后在用户界面进行修改,最后调用SaveDate就可以把未定的更改保存到数据库.using System;using System.Data ;using System.Data.SqlClient ; namespace AsterDnet.DataBind{    /// <summary>    /// Summary description for GetData.    

数据库学习笔记(一)

笔记|数据|数据库 这是我学习数据库时候的笔记,都是非常简单,非常基础的有关数据库的知识,最近整理一下,希望大家不要蛋蛋我啊,呵呵 数据库学习笔记(一)                         --绪论及基本概念 一,             数据:描述事物的符号记录称为数据. 二,             数据库:指长期存储在计算机内的.有组织.可共享的数据集合. 三,             数据库管理系统:数据管理的软件,主要以下功能:                   1, 

MySQL数据库学习笔记(十二)----开源工具DbUtils的使用(数据库的增删改查)

[正文] 这一周状态不太好,连续打了几天的点滴,所以博客中断了一个星期,现在继续. 我们在之前的几篇文章中学习了JDBC对数据库的增删改查.其实在实际开发中,一般都是使用第三方工具类,但是只有将之前的基础学习好了,在使用开源工具的时才能得心应手.如果对JDBC基础不太清楚,或者对本文看不太懂,建议先回顾一下本人之前的几篇和"MySQL数据库学习笔记"相关的文章.但是不管怎样,今后如果用到了数据库的增删改查,肯定是这篇文章中的代码用的最多. 一.DbUtils简介: DBUtils是ap

MySQL数据库学习笔记(九)----JDBC的ResultSet接口(查询操作)、PreparedStatement接口重构增删改查(含SQL注入的解释)

[正文] 首先需要回顾一下上一篇文章中的内容:MySQL数据库学习笔记(八)----JDBC入门及简单增删改数据库的操作 一.ResultSet接口的介绍: 对数据库的查询操作,一般需要返回查询结果,在程序中,JDBC为我们提供了ResultSet接口来专门处理查询结果集. Statement通过以下方法执行一个查询操作: ResultSet executeQuery(String sql) throws SQLException  单词Query就是查询的意思.函数的返回类型是ResultSe

MySQL数据库学习笔记(十)----JDBC事务处理、封装JDBC工具类

[正文] 首先需要回顾一下上一篇文章中的内容:MySQL数据库学习笔记(九)----JDBC的PreparedStatement接口重构增删改查 一.JDBC事务处理: 我们已经知道,事务的概念即:所有的操作要么同时成功,要么同时失败.在MySQL中提供了Commit.Rollback命令进行事务的提交与回滚.实际上在JDBC中也存在事务处理,如果要想进行事务处理的话,则必须按照以下的步骤完成. JDBC中事务处理的步骤: 1.要取消掉JDBC的自动提交:void setAutoCommit(b

MySQL数据库学习笔记(一)

mysql|笔记|数据|数据库         我一直从事Informix和Oracle数据库开发,有一天发现网络上有一种小巧别致的数据库,被广泛使用,从MySQL的网站http://www.mysql.com/我下载了它的数据库软件,使用过后觉得真的挺好,这是我的一点学习笔记希望对各位初学者有点帮助. 1.       MySQL数据库介绍 MySQL 是瑞典的MySQL AB公司开发的一个可用于各种流行操作系统平台的关系数据库系统,它具有客户机/服务器体系结构的分布式数据库管理系统.MySQ

MySQL数据库学习笔记(三)----基本的SQL语句

  [正文] 主要内容: 一.cmd命令行的常用命令 二.数据定义语言(DDL) 三.数据操纵语言(DML) 四.数据查询语言(DRL) 五.事务控制语言(TCL) 一.cmd命令行的常用命令: 当我们使用MySQL 5.5 Command Line Client这个客户端登陆时,只能登陆root用户.如果今后创建了别的用户,就很麻烦了,所以我们不用MySQL 5.5 Command Line Client这个客户端,而是直接使用cmd. 登录MySQL数据库: 因为在这之前安装MySQL的时候

数据库学习笔记(二)

笔记|数据|数据库 接第一部分 七,             数据库系统的结构 1,  模式(Schema):是数据库中全体数据的逻辑结构和特征的描述,它仅仅涉及到型的描述,不涉及到具体的值. 2,  三级模式结构,如下图: 3,  逻辑模式:即模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图 4,  外模式:也称子模式(Subschema),即用户模式,是数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图. 5,  内模式(Internal

数据库学习笔记(四)

笔记|数据|数据库 关系数据库 六, 关系代数 关系代数是一种抽象的查询语言,是关系数据操纵语言的一种传统表达方式,它是用对关系的运算来表达查询的. 1,传统的集合运算 并(union),差(difference),交(intersection),广义笛卡儿(extended Cartesian product)       2,专门的关系运算 规定的几个记号. ⑴ 设关系模式为R(A1,A2, -,AN).它的一个关系设为R.t∈R表示t是R的一个元组.t[Ai]则表示元组t中相应于属性Ai上