成都网站建设
|
域名注册
|
虚拟主机
|
网站制作
|
网站案例
|
网站优化
|
网站推广
|
企业邮局
|
服务器租用
|
广告设计
首页
服务器租用
企业邮箱
虚拟主机
网站程序
营销推广
网站建设
域名注册
前端开发
网站备案
网站程序
java教程
asp程序
asp.net程序
vb编程
php程序
C#程序
服务器租用
web服务器
FTP服务器
服务器托管
服务器租用
vps主机服务器
云主机服务器
网站解决方案
服务器机房
企业邮箱
企业邮箱设置
企业邮箱优势
邮箱其他问题
邮箱功能讲解
邮箱收发问题
虚拟主机
主机管理
主机购买
数据库
主机续费升级
FTP上传
营销推广
seo优化
网站推广
搜索引擎
免费资源
网站建设
网站方案
网站改版
网页设计
网站维护
网站策划
网站制作
域名注册
域名转入\转出
英文域名
通用网址
中文域名
域名解析
无线网址
域名知识及服务
前端开发
html
jQuery
JavaScript教程
css
div+css
json教程
bootstrap教程
XML教程
ajax教程
网站备案
备案资料下载
备案流程指南
各省备案要求
备案常见问题
移动互联网
app应用开发
wap手机网站
微网站
当前位置:
创新互联
>>
常见问题
>>
网站程序
>>
C#程序
>>
C#连接数据库和更新数据库
C#连接数据库和更新数据库
作者:创新互联 文章来源:网站程序部 点击数:
更新时间:2008-10-15
对
数据库
的操作总体可以分为两类:查询(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(); } } }
对
数据库
的操作类写好了。然后就来实现增删改的功能:
理一下思路,先添加一个用户,如何编写代码:1、得到客户所填的数据(用户名和密码);2、编写insert语句,将用户信息通过ConnDb()类添加到数据库中;3、返回一个影响行数以便通知客户执行是否成功。代码如下:
private void add_but_Click(object sender, EventArgs e)
{//按钮单击事件
//得到用户所填的用户名和密码
string uname = this.uname_text.Text; string upass = this.upass_text.Text;
string sql = string.Format("insert into users values('{0}','{1}')",uname,upass);//拼写sql语句将该用户信息插入到数据库中
int x = new Db.ConnDb().update(sql);//通过ConnDb()对象的update()方法执行sql语句并返回一个影响行数
if (x > 0)
{//如果影响行数大于0则说明插入成功,否则的话插入失败
MessageBox.Show("添加成功!");
} else {
MessageBox.Show("添加失败!");
} }
添加一个用户之后,在右边的listBox中显示出来:
public void refurbish()
{ string sql = "select * from users";//sql语句查询数据
DataSet ds = new Db.ConnDb().query(sql);//查询返回一个DataSet
this.listBox1.DisplayMember = "username";//listBox中要显示的列
this.listBox1.DataSource=ds.Tables[0];// listBox的数据源
}
执行结果如下:
而当客户选中右边的listBox中的一个选项时,可以进行相应的删除或修改。删除的代码如下:
private void del_but_Click(object sender, EventArgs e)
{string uname = this.listBox1.Text;//得到listBox中所选的值
string sql = string.Format("delete from users where username='{0}'",uname);//拼写sql语句删除用户
int x = new Db.ConnDb().update(sql);//调用update()方法返回影响行数
if (x > 0)
{//根据返回的影响行数判断删除是否成功
MessageBox.Show("删除成功!");
} else{
MessageBox.Sh
初识C#线程
:上一篇
C#中ref和out的使用小结
:下一篇
C#程序相关文章
初识C#线程
C#中实现窗体间传值
C#必备知识之预编译指令
C#如何获取机器上正在运行的进程?
C#淡出淡入窗体
C#定义常量的两种方法
C# 4.0 的4个新特性
C++程序员容易犯的十个C#错误
你知道C#排序的编写及性能吗?
C#中如何对当前窗体进行打印预览
专注网站建设、网页设计、网站制作、企业网站建设——创新互联
服务电话:028-86922220 13518219792 公司地址:成都市太升南路288号锦天国际A幢10楼2号
企业邮箱:
service@cdxwcx.com
版权所有:成都创新互联科技有限公司 蜀ICP备13010860号
成都网站建设