2022年C#连接数据库和更新数据库 .pdf

上传人:Che****ry 文档编号:27252737 上传时间:2022-07-23 格式:PDF 页数:7 大小:349.69KB
返回 下载 相关 举报
2022年C#连接数据库和更新数据库 .pdf_第1页
第1页 / 共7页
2022年C#连接数据库和更新数据库 .pdf_第2页
第2页 / 共7页
点击查看更多>>
资源描述

《2022年C#连接数据库和更新数据库 .pdf》由会员分享,可在线阅读,更多相关《2022年C#连接数据库和更新数据库 .pdf(7页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

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

2、dText表示要设置命令的文本;2、Connection表示要设置命令的连接;3、CommandType表示设置命令的类型,默认的是Sql 语句(但如果不是执行sql 语句,就一定要指定命令的类型)。OleDbCommand对象设置好以后,就该执行 sql 语句了。方法ExecuteNonQuery()就是执行sql 语句。如果记不住这个方法,教你一个简单的记法:将“ExecuteNonQuery”单词分为三部分,就是“ 执行不查询 ” ,那就是更新数据了。下面就做一个例子熟悉对数据库的更新:先使用 Visual Studio2005做出如下界面:名师资料总结 - - -精品资料欢迎下载 -

3、- - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 7 页 - - - - - - - - - public class ConnDb OleDbConnection conn = null;/连接数据库的对象/下面是构造函数连接数据库public ConnDb() if (conn=null)/判断连接是否为空conn = new OleDbConnection(); conn.ConnectionString=provider=sqloledb.1;data source=.;initial catalog=capu

4、civar;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();/关闭连接retu

5、rn 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;/返回一个影响行数 /下面的 con

6、nClose()方法是关闭数据库连接public void connClose() if (conn.State = ConnectionState.Open) / 判断数据库的连接状态,如果状态是打开的话就将它关闭conn.Close(); *对数据库的操作类写好了。然后就来实现增删改的功能:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 7 页 - - - - - - - - - 理一下思路,先添加一个用户,如何编写代码:1、得到客户所填的数据(用户名和密码); 2、

7、编写 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 语句将该用户信息

8、插入到数据库中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语句查询数据名师资料总结 - - -精品资料欢迎下载 - - -

9、- - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 7 页 - - - - - - - - - DataSet ds = new Db.ConnDb().query(sql);/查询返回一个DataSet this.listBox1.DisplayMember = username;/listBox中要显示的列this.listBox1.DataSource=ds.Tables0;/ listBox 的数据源 执行结果如下:而当客户选中右边的listBox 中的一个选项时,可以进行相应的删除或修改。删除的代码如下:private

10、 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(删除成功! ); 名师资料总结 -

11、- -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 7 页 - - - - - - - - - else MessageBox.Show(删除失败! ); 删除之后的结果如下:在点击 “ 更新 ” 按钮之后,应该弹出一个窗口显示客户所选用户的信息供客户更新。更新的代码如下:private void upa_but_Click(object sender, EventArgs e) string uname = this.listBox1.Text;/得到 listBox 中所选的用户信息new

12、 upd(uname).ShowDialog();/弹出要更新窗口upd.cs upd.cs 的代码如下:public partial class upd : Form public upd()/ 无参构造函数InitializeComponent(); public upd(string uname)/ 有参构造函数 InitializeComponent(); this.uname_text.Text = uname;/ 将用户名放到文本框名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - -

13、- 第 5 页,共 7 页 - - - - - - - - - string sql = string.Format(select * from users where username=0, uname);/ 拼写 sql 语句通过用户名查找用户的信息DataSet ds = new Db.ConnDb().query(sql); /下面得到结果集中的信息分别放至相应文本框中this.uid_text.Text = ds.Tables0.Rows00.ToString();this.upass_text.Text = ds.Tables0.Rows02.ToString(); private

14、 void button1_Click(object sender, EventArgs e)/ 点击“确认修改”按钮所响应的事件int uid = Convert.ToInt32(this.uid_text.Text);/得到 uid string uname = this.uname_text.Text;/得到用户名string upass = this.upass_text.Text;/得到用户密码string sql = string.Format(update users set username=0,userpass=1 where uid=2,uname,upass,uid);/

15、拼写一个修改sql 语句int x = new Db.ConnDb().update(sql);/返回所受影响行数if (x 0) /根据影响行数判断修改是否成功MessageBox.Show(修改成功! ); this.Visible = false;/ 将该页面隐藏 else MessageBox.Show(修改失败! ); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 7 页 - - - - - - - - - return; private void butto

16、n2_Click(object sender, EventArgs e)/ 点击“取消”按钮所响应的事件this.Visible = false;/ 将该页面隐藏 修改的结果如下:在每次对数据库进行修改之后,界面右边的listBox 中的数据就会更新一次,所以每次对数据库操作之后都应该调用refurbish() 方法。一个简单的使用C# 对数据库进行增删改查的代码就写完了。 代码写的很简单,只是完成了最简单的增删改查功能,可以将上述的代码更加完善。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 7 页 - - - - - - - - -

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com