ImageVerifierCode 换一换
格式:DOCX , 页数:11 ,大小:71.86KB ,
资源ID:22993826      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/22993826.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(C#连接数据库和更新数据库.docx)为本站会员(b****1)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

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

1、C#连接数据库和更新数据库http:/dotnet.aspx.cc/1.C#连接Access 程序代码: using System.Data; using System.Data.OleDb; string strConnection=Provider=Microsoft.Jet.OleDb.4.0; strConnection+=DataSource=C:BegASPNETNorthwind.mdb; OleDbConnection objConnection=new OleDbConnection(strConnection); objConnection.Open(); objConne

2、ction.Close(); 解释: 连接Access数据库需要导入额外的命名空间,所以有了最前面的两条using命令,这是必不可少的! strConnection这个变量里存放的是连接数据库所需要的连接字符串,他指定了要使用的数据提供者和要使用的数据源。 “Provider=Microsoft.Jet.OleDb.4.0;”是指数据提供者,这里使用的是Microsoft Jet引擎,也就是Access中的数据引擎,就是靠这个和Access的数据库连接的。 “Data Source=C:BegASPNETNorthwind.mdb”是指明数据源的位置,他的标准形式是“Data Source=M

3、yDrive:MyPathMyFile.MDB”。 PS: 1.“+=”后面的“”符号是防止将后面字符串中的“”解析为转义字符。 2.如果要连接的数据库文件和当前文件在同一个目录下,还可以使用如下的方法连接: strConnection+=Data Source=;strConnection+=MapPath(Northwind.mdb); 3.要注意连接字符串中的参数之间要用分号来分隔。 “OleDbConnection objConnection=new OleDbConnection(strConnection);”这一句是利用定义好的连接字符串来建立了一个链接对象,以后对数据库的操作我

4、们都要和这个对象打交道。 “objConnection.Open();”这用来打开连接。至此,与Access数据库的连接完成。 2.C#连接SQL Server 程序代码: using System.Data; using System.Data.SqlClient;. string strConnection=user id=sa;password=; strConnection+=initial catalog=Northwind;Server=YourSQLServer; strConnection+=Connect Timeout=30; SqlConnection objConnec

5、tion=new SqlConnection(strConnection);. objConnection.Open(); objConnection.Close(); 解释: 连接SQL Server数据库的机制与连接Access的机制没有什么太大的区别,只是改变了Connection对象和连接字符串中的不同参数。 首先,连接SQL Server使用的命名空间不是“System.Data.OleDb”,而是“System.Data.SqlClient”。 其次就是他的连接字符串了,我们一个一个参数来介绍(注意:参数间用分号分隔): “user id=sa”:连接数据库的验证用户名为sa。他还

6、有一个别名“uid”,所以这句我们还可以写成“uid=sa”。 “password=”:连接数据库的验证密码为空。他的别名为“pwd”,所以我们可以写为“pwd=”。 这里注意,你的SQL Server必须已经设置了需要用户名和密码来登录,否则不能用这样的方式来登录。如果你的SQL Server设置为Windows登录,那么在这里就不需要使用“user id”和“password”这样的方式来登录,而需要使用“Trusted_Connection=SSPI”来进行登录。 “initial catalog=Northwind”:使用的数据源为“Northwind”这个数据库。他的别名为“Data

7、base”,本句可以写成“Database=Northwind”。 “Server=YourSQLServer”:使用名为“YourSQLServer”的服务器。他的别名为“Data Source”,“Address”,“Addr”。如果使用的是本地数据库且定义了实例名,则可以写为“Server=(local)实例名”;如果是远程服务器,则将“(local)”替换为远程服务器的名称或IP地址。 “Connect Timeout=30”:连接超时时间为30秒。 在这里,建立连接对象用的构造函数为:SqlConnection。 3.C#连接Oracle 程序代码: using System.Dat

8、a.OracleClient;using System.Data;/在窗体上添加一个按钮,叫Button1,双击Button1,输入以下代码private void Button1_Click(object sender, System.EventArgs e)string ConnectionString=Data Source=sky;user=system;password=manager;/写连接串OracleConnection conn=new OracleConnection(ConnectionString);/创建一个新连接tryconn.Open();OracleComma

9、nd cmd=conn.CreateCommand();cmd.CommandText=select * from MyTable;/在这儿写sql语句OracleDataReader odr=cmd.ExecuteReader();/创建一个OracleDateReader对象while(odr.Read()/读取数据,如果odr.Read()返回为false的话,就说明到记录集的尾部了 Response.Write(odr.GetOracleString(1).ToString();/输出字段1,这个数是字段索引,具体怎么使用字段名还有待研究odr.Close();catch(Except

10、ion ee)Response.Write(ee.Message); /如果有错误,输出错误信息finallyconn.Close(); /关闭连接 4.C#连接MySQL 程序代码: using MySQLDriverCS; / 建立数据库连接MySQLConnection DBConn;DBConn = new MySQLConnection(new MySQLConnectionString(localhost,mysql,root,3306).AsString);DBConn.Open(); / 执行查询语句MySQLCommand DBComm;DBComm = new MySQLC

11、ommand(select Host,User from user,DBConn); / 读取数据MySQLDataReader DBReader = DBComm.ExecuteReaderEx(); / 显示数据trywhile (DBReader.Read()Console.WriteLine(Host = 0 and User = 1, DBReader.GetString(0),DBReader.GetString(1);finallyDBReader.Close();DBConn.Close(); /关闭数据库连接DBConn.Close(); 5.C#连接IBM DB2 程序代码

12、: OleDbConnection1.Open();/打开数据库连接OleDbDataAdapter1.Fill(dataSet1,Address);/将得来的数据填入dataSetDataGrid1.DataBind();/绑定数据OleDbConnection1.Close();/关闭连接 /增加数据库数据在Web Form上新增对应字段数量个数的TextBox,及一个button,为该按键增加Click响应事件代码如下:this.OleDbInsertCommand1.CommandText = INSERTsintosADDRESS(NAME,EMAIL, AGE, ADDRESS)

13、VALUES(+TextBox1.Text+,+TextBox2.Text+,+TextBox3.Text+,+TextBox4.Text+);OleDbInsertCommand1.Connection.Open();/打开连接OleDbInsertCommand1.ExecuteNonQuery();/执行该SQL语句OleDbInsertCommand1.Connection.Close();/关闭连接 6.C#连接SyBase 程序代码: Provider=Sybase.ASEOLEDBProvider.2;Initial Catalog=数据库名;User ID=用户名;Data S

14、ource=数据源;Extended Properties=;Server Name=ip地址;Network Protocol=Winsock;Server Port Address=5000;C#连接数据库和更新数据库对数据库的操作总体可以分为两类:查询(select)和更新(insert,delete,update)。为什么这样来分呢?仔细看看两类的区别,select只是从数据库中将数据拿出来使用,而其余三者都会对数据库的物理数据进行修改。capucivar在上篇文章中已经对数据库的查询操作进行了详细的阐述。这篇文章将接着阐述更新数据。更新数据库信息首先是连接数据库,这个capuciva

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

16、不查询”,那就是更新数据了。下面就做一个例子熟悉对数据库的更新:先使用Visual Studio2005做出如下界面:界面做好以后就相当于做了一个空壳子。接下来就是往里边添加事件了。我们还要借用上篇文章中的ConnDb类,在该类里添加一个方法:update()对数据库进行更新,该方法里有一个参数string sql。public class ConnDb OleDbConnection conn = null;/连接数据库的对象/下面是构造函数连接数据库 public ConnDb() if (conn=null)/判断连接是否为空 conn = new OleDbConnection();

17、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 OleDbDat

18、aAdapter(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

19、 x=oc.ExecuteNonQuery();/执行SQL语句 connClose();/关闭连接 return x; /返回一个影响行数 /下面的connClose()方法是关闭数据库连接 public void connClose() if (conn.State = ConnectionState.Open) /判断数据库的连接状态,如果状态是打开的话就将它关闭 conn.Close(); 对数据库的操作类写好了。然后就来实现增删改的功能:理一下思路,先添加一个用户,如何编写代码:1、得到客户所填的数据(用户名和密码);2、编写insert语句,将用户信息通过ConnDb()类添加到数

20、据库中;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().up

21、date(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.listBo

22、x1.DisplayMember = username;/listBox中要显示的列 this.listBox1.DataSource=ds.Tables0;/ 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

23、username=0,uname);/拼写sql语句删除用户 int x = new Db.ConnDb().update(sql);/调用update()方法返回影响行数 if (x 0) /根据返回的影响行数判断删除是否成功 MessageBox.Show(删除成功!); else MessageBox.Show(删除失败!); 删除之后的结果如下:在点击“更新”按钮之后,应该弹出一个窗口显示客户所选用户的信息供客户更新。更新的代码如下:private void upa_but_Click(object sender, EventArgs e) string uname = this.li

24、stBox1.Text;/得到listBox中所选的用户信息 new 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;/将用户名放到文本框 string sql = string.Format(select * from us

25、ers 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 void button1_Click(object sender, EventArgs e)/点击“确认修改”按钮所响应的事件 int uid = C

26、onvert.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);/拼写一个修改sql语句 int x = new Db.ConnDb().update(sql);/返回所受影响行数 if (x 0) /根据影响行数判

27、断修改是否成功 MessageBox.Show(修改成功!); this.Visible = false;/将该页面隐藏 else MessageBox.Show(修改失败!); return; private void button2_Click(object sender, EventArgs e)/点击“取消”按钮所响应的事件 this.Visible = false;/将该页面隐藏 修改的结果如下:在每次对数据库进行修改之后,界面右边的listBox中的数据就会更新一次,所以每次对数据库操作之后都应该调用refurbish()方法。一个简单的使用C#对数据库进行增删改查的代码就写完了。代码写的很简单,只是完成了最简单的增删改查功能,可以将上述的代码更加完善。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1