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

ado|程序|分布式|设计|数据|数据库

提供一个数据服务类,调用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-08-08 05:46:04

用ado.net进行分布式程序设计更新数据库的相关文章

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

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

035_《Delphi 5.x ADO/MTS/COM+ 高级程序设计篇》

<Delphi 5.x ADO/MTS/COM+ 高级程序设计篇> Delphi 教程 系列书籍 (035) <Delphi 5.x ADO/MTS/COM+ 高级程序设计篇> 网友(邦)整理 EMail: shuaihj@163.com 下载地址: Part1 Part2 附书源码 书名: Delphi 5.X ADO/MTS/COM+高级程序设计篇 作者: 李维 出版社: 机械工业出版社 书号: 7111084462 出版日期:2000年11月 开本: 787*1092 1/1

php+mysqli使用面向对象方式更新数据库实例_php技巧

本文实例讲述了php+mysqli使用面向对象方式更新数据库的方法,分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: <?php //第一步:创建数据连接对象 $mysqli = new MySQLi("localhost","root","123456");//默认的 MySQL的类,其属性与方法见手册 if($mysqli->connect_error){//connect_error为属性,报错  die(&quo

JDBC程序更新数据库中记录的方法_java

本文实例讲述了JDBC程序更新数据库中记录的方法.分享给大家供大家参考,具体如下: 使用JDBC程序(Eclipse.MyEclipse)更新数据库(MySql)中的记录时可以只修改记录的一个字段或几个字段,具体方法为可以加入如下被注释代码(前提是修改之前可以从数据库中得到该条记录)以user表为例 public class UserDaoJdbcImpl implements UserDao { public void update(User u) { Connection conn = nu

浅谈ASP程序设计中数据库文件调用的捷径

程序|设计|数据|数据库 引言 本文针对ASP程序设计中最基础.也是最关键的部分"数据库文件的调用"进行说明,同时谈谈ASP程序设计中数据库文件调用的一些技巧. ASP简介 ASP(Active Server Pages)是微软于1996年推出的Web应用程序开发技术,它是一种脚本语言.ActiveX组件及HTML语言等的综合,微软把它描述为"一个服务器的脚本环境,在这里可以生成和运行动态的.交互的.高性能的Web服务器应用程序".其主要功能是为生成动态的.交互式的

C#中关于通过dataGrid更新数据库

datagrid|数据|数据库 各位大虾好!我刚刚接触C#.NET学习不久,原来一直在用Delphi做开发,突然转型感觉甚是不爽,这两天研究了一下如何通过dataGrid更新数据库记录的问题,有点小收获,在这里我把我的方法贴出来,供各位大虾斧正!谢谢!//*************************遍历dataGrid行更新数据****************************************** private void UpdateFromDataGrid() { str

C#连接数据库和更新数据库

对数据库的操作总体可以分为两类:查询(select)和更新(insert,delete,update).为什么这样来分 呢?仔细看看两类的区别,select只是从数据库中将数据拿出来使用,而其余三者都会对数据库的物理数 据进行修改.capucivar在上篇文章中已经对数据库的查询操作进行了详细的阐述.这篇文章将接着阐述 更新数据. 更新数据库信息首先是连接数据库,这个capucivar在<C#连接数据库之查询数据库>中已有介绍了. 对数据库的更新需要一个对象:OleDbCommand.该对象表

使用LINQ to SQL更新数据库(上):问题重重

在学习LINQ时,我几乎被一个困难所击倒,这就是你从标题中看到的更新数据库的操作.下面我就一 步步带你走入这泥潭,请准备好砖头和口水,Follow me. 从最简单的情况入手 我们以Northwind数据库为例,当需要修改一个产品的ProductName时,可以在客户端直接写下这样的 代码: // List 0 NorthwindDataContext db = new NorthwindDataContext(); Product product = db.Products.Single(p

mysql如何更新数据库字段教程

  mysql如何更新数据库字段教程 语法 UPDATE table_name SET column_name = new_value WHERE column_name = some_value 注释:SQL 对大小写不敏感.UPDATE 与 update 等效. 为了让 PHP 执行上面的语句,我们必须使用 mysql_query( 函数.该函数用于向 SQL 连接发送查询和命令. 例子 稍早时,我们在本教程中创建了一个名为 "Person" 的表.它看起来类似这样: FirstN