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

对数据库的操作总体可以分为两类:查询(select)和更新(insert,delete,update)。为什么这样来分 呢?仔细看看两类的区别,select只是从数据库中将数据拿出来使用,而其余三者都会对数据库的物理数 据进行修改。capucivar在上篇文章中已经对数据库的查询操作进行了详细的阐述。这篇文章将接着阐述 更新数据。

更新数据库信息首先是连接数据库,这个capucivar在《C#连接数据库之查询数据库》中已有介绍了。 对数据库的更新需要一个对象:OleDbCommand。该对象表示要对数据源执行的SQL语句或存储过程。

这个对象有三个属性:1、CommandText表示要设置命令的文本;2、Connection表示要设置命令的连接 ;3、CommandType表示设置命令的类型,默认的是Sql语句(但如果不是执行sql语句,就一定要指定命令 的类型)。OleDbCommand对象设置好以后,就该执行sql语句了。方法ExecuteNonQuery()就是执行sql语 句。如果记不住这个方法,教你一个简单的记法:将“ExecuteNonQuery”单词分为三部分,就是“执行 不查询”,那就是更新数据了。

下面就做一个例子熟悉对数据库的更新:

先使用Visual Studio2005做出如下界面:

界面做好以后就相当于做了一个空壳子。接下来就是往里边添加事件了。我们还要借用上篇文章中的 ConnDb类,在该类里添加一个方法:update()对数据库进行更新,该方法里有一个参数string sql。

public class ConnDb

    { OleDbConnection conn = null;//连接数据库的对象

//下面是构造函数连接数据库

        public ConnDb()

        { if (conn==null)//判断连接是否为空

            {  conn = new OleDbConnection();

            conn.ConnectionString="provider=sqloledb.1;data source=.;initial catalog=capucivar;user id=sa;pwd=";//连接数据库的字符串 }

            if (conn.State == ConnectionState.Closed)

            {  conn.Open();//打开数据库连接

            } }

//下面这个方法是从数据库中查找数据的方法

        public DataSet query(string sql)

        { DataSet ds = new DataSet();//DataSet是表的集合

            OleDbDataAdapter da = new OleDbDataAdapter(sql,conn);//从数据库中查 询

            da.Fill(ds);//将数据填充到DataSet

            connClose();//关闭连接

            return ds;//返回结果

        }

//下面的方法是对数据库进行更新

        public int update(string sql)

        {OleDbCommand oc = new OleDbCommand();//表示要对数据源执行的SQL语句或存储过 程

            oc.CommandText = sql;//设置命令的文本

            oc.CommandType = CommandType.Text;//设置命令的类型

            oc.Connection = conn;//设置命令的连接

            int x=oc.ExecuteNonQuery();//执行SQL语句

            connClose();//关闭连接

            return x;   //返回一个影响行数

        }

//下面的connClose()方法是关闭数据库连接

 public void connClose()

 { if (conn.State == ConnectionState.Open)

            {//判断数据库的连接状态,如果状态是打开的话就将它关闭

                conn.Close();
    }
   }
  }

时间: 2024-11-30 03:59:36

C#连接数据库和更新数据库的相关文章

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

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

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

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

使用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

更新数据库表的某一字段为限制范围的随机数

需求:用SQL脚本更新数据库某个字段为六位随机值 环境:SQL Server 2008,数据库内有上千条数据   问题1:六位随机值 步骤1:随机数的SQL函数为rand() ,而rand()生成的是0-1之间的小数. 步骤2:将rand()*1000000则看似可以得到有六位数了(小数部分暂时忽略不算).可是,假设rand()得到的是一个类似0.0xxx的小数,rand()*1000000就会只有五位整数部分,或许更少. 步骤3:rand()*(999999-100000)+100000这样就

ThinkPHP连接数据库及主从数据库的设置教程_php实例

本文较为详细的讲述了ThinkPHP连接数据库及主从数据库的设置方法,在ThinkPHP项目开发中非常实用.具体实现方法如下: 一.项目根目录上建立config.php 代码如下所示: <?php if(!defined('THINK_PATH')) exit(); return array( 'DB_TYPE' => 'mysql',// 数据库类型 'DB_HOST' => 'localhost',// 主机 'DB_NAME' => 'aoli',// 数据库名称 'DB_U

如何使用DataSet更新数据库??

问题描述 我想通过DataSet更新数据库,可是程序执行后没起作用,请高手指点一下,看我哪里弄错了.谢谢我的程序很简单,整个代码如下:(我是想把tab1表里的数据全部覆盖到tab2里,这两个表在两个数据库中)usingSystem;usingSystem.Drawing;usingSystem.Collections;usingSystem.ComponentModel;usingSystem.Windows.Forms;usingSystem.Data;usingSystem.Data.Ora

GridView更新数据库后 无法显示问题!

问题描述 利用TextBox接受用户输入,按钮触发事件在数据库中搜索到一条数据后,在页面中用GridView显示,利用更新按钮修改后可以更新回数据库,但是页面刷新后无法显示更新后的数据.望高手赐教publicpartialclassadmin_Users_Update:System.Web.UI.Page{privatestringtableName="users";//表名privateNameSearchns=newNameSearch();//搜索信息类protectedvoid

java-使用servlet,jdbc将mysql中数据显示在jsp页面中,且实现直接更新数据库数据

问题描述 使用servlet,jdbc将mysql中数据显示在jsp页面中,且实现直接更新数据库数据 我从网上找了几篇,大多都是在JSP操作的,我想仿照http://blog.csdn.net/kakukeme/article/category/819230 该网址的例子做,但是数据却没有显示出来,所以想问下各位有没完整的可以运行的实例,给我一个. 解决方案 参考一下吧:http://download.csdn.net/detail/qq_19558705/9393750 解决方案二: ?用se