ImageVerifierCode 换一换
格式:DOC , 页数:23 ,大小:316.50KB ,
资源ID:9283554      下载积分:10 金币
验证码下载
登录下载
邮箱/手机:
图形码:
验证码: 获取验证码
温馨提示:
支付成功后,系统会自动生成账号(用户名为邮箱或者手机号,密码是验证码),方便下次登录下载和查询订单;
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

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

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

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请。


权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4009-655-100;投诉/维权电话:18658249818。

注意事项

本文(C#调用SQL.doc)为本站上传会员【仙人****88】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

C#调用SQL.doc

1、数据访问技术 目的: 1. 了解如何创建和删除数据库 2. 了解如何创建和删除数据表 3. 掌握连接数据库对象(Connection) 4. 掌握执行sql语句对象(Command) 5. 掌握读取数据对象(DataReader) 6. 掌握数据适配器对象(DataAdapter) 7. 掌握数据集对象(DataSet) 重点:技术 难点:综合编程 项目1 创建一个windows应用程序,用来显示数据库连接状况。 项目2 创建一个windows应用程序,分别用close和dispose方法关闭数据库连接。 项目4 创建一个windows应用程序,用sqlcommand

2、的ExecuteNonQuery方法返回受影响的行数 项目5 创建一个windows应用程序,用sqlcommand的ExeuterReader方法返回一个包含数据的sqldatareader对象实例 项目6 创建一个windows应用程序,向窗体中添加一个textbox和button控件,分别用于输入要查询的表名以及执行查询操作,通过sqldatareader对象的hasrows属性进行判断sqldatareader是否包含一行或者多行,即判断查询结果是否有值。 项目7 创建一个windows应用程序,向窗体中添加一个button控件和一个datagridview控件,分别用于执行数据

3、绑定以及显示数据表中的数据。当单击button后,先连接数据库,然后创建一个sqldataadapter对象,使用该对象的fill方法填充dataSet数据集,最后设置DataGridView控件的数据源,显示查询的数据。 项目8 创建一个windows应用程序,查询tb_command表中所有数据并显示在datagridview控件中,单击某条数据,会显示详细信息。当对某条数据进行修改后,单击“修改”按钮,使用DataAdapter对象的Updata方法更新数据库。 项目9 创建一个windows应用程序,向窗体添加一个datagridview控件,首先获取tb_test中的数据,并存储

4、在dataset对象ds中,然后再获取数据表tb_main中的数据,存储在另一个dataset对象ds1中,最后调用dataset对象的merge方法,将ds与ds1合并。 项目10 创建一个windows应用程序,向窗体添加二个DataGridView控件和一个Button控件,第一个DataGridView控件用于数据表tb_test中的数据,当单击Button控件后,通过dataset对象的copy方法复制第一个DataGridView控件的dataset,并作为第二个DataGridView控件的数据源。 背景知识: 数据库 1数据库是按照数据结构来组织、存储和管

5、理数据的仓库。是存储在一起的相关数据的集合。 2关系型数据库是由许多数据表组成,数据表由是由许多条记录组成,而记录又是由许多字段组成,每个字段又对应一个对象。 Sql语言简介 Sql是一种数据库查询和程序设计语言,是关系型数据库事实上的标准语言。 1数据库的创建与删除 (1) 创建数据库 选择“开始/程序/microsoft sql server/企业管理器”命令,打开企业管理器。 在企业管理器左侧栏目中的“数据库”项目上点右键,选择新建数据库命令。 , 在“数据库属性”窗口的“名称”文本框中输入新建数据库的名称,如下图 输入数据库名称!!! (2) 删除数据库

6、 在新建数据库上点鼠标右键,在弹出快捷菜单中选择“删除”命令 2.数据表的创建及删除,方法同上。 ADO.NET简介 A 是一组可以公开数据访问服务的类,有丰富的组件和方法,用于支持对sql server 和xml等数据源进行访问。 A对象模型由二个部分组成:数据提供程序(data provider,也称为托管提供程序)和数据集(dataset),前者负责与物理数据源的连接,数据集代表实际的数据。 A支持二种访问数据的模型: 无连接模型-将数据下载到客户端机器上并将数据封装到内存中,然后可以像访问本地关系数据库一样访问内存中的数据(如dataset) 连接模型依赖于逐记录

7、的访问,这种访问要求打开并保持与数据源的连接。 一. 连接数据库对象:connection对象 功能:与特定数据源建立联系 1. connection对象概述: 首先,根据使用对象的不同,需引入不同的命名空间: System.data.sqlclient命名空间 System.data.odbc命名空间; System.data.oledb命名空间; System.data.oracle命名空间; 然后,可根据引入命名空间的不同,调用相应的命名空间中的connection对象进行数据库连接。 例如,要连接sql server数据库,首先要通过using System.d

8、ata.sqlclient命今引用sql server数据提供程序,然后调用空间下的sqlconnection类连接数据库. 2. 连接数据库: 先引入System.data.sqlclient命名空间,命名空间里有sqlconnection类,通过sqlconnection类的对象的open方法打开数据库。然后,用sqlconnection对象的state属性判断数据库的连接状态。 项目1 创建一个windows应用程序,用来显示数据库连接状况。 效果图如下: 关键步骤如下: 在窗体中添加一个textbox控件、一个button控件和二个label控件,分别用于输入要

9、连接的数据库名称、执行连接数据库的操作以及数据库的连接状态,然后引入system.data.sqlclient命名空间,使用sqlconnection类连接数据库。 关键代码如下: if (textBox1.Text == "") { MessageBox.Show("请输入要连接的数据库名称"); } else { try { //string

10、 ConStr = "server=.;database=" + textBox1.Text.Trim() + ";uid=sa;pwd=123456"; string ConStr = "server=hmpc;database=" + textBox1.Text.Trim() + ";uid=sa;pwd=123456"; SqlConnection conn = new SqlConnection(ConStr); conn.Open();

11、 if (conn.State == ConnectionState.Open) { label2.Text = "数据库【" + textBox1.Text.Trim() + "】已经连接并打开"; } } catch { MessageBox.Show("连接数据库失败");

12、 } } 3. 关闭连接: 方法一:调用sqlconection对象的close方法关闭一个连接(但可用open方法再打开)。 方法二:用dispose方法关闭,并且清理连接所占用的资源(此时不可再用open打开,必须再次重新初始化连接再打开)。 项目2 创建一个windows应用程序,分别用close和dispose方法关闭数据库连接。 效果图如下: 主要步骤: 新建一个窗体,在窗体中添加一个textbox控件和一个richtextbox控件,分别用于输入连接的数据库名和显示连接信息及错误提示。再设置3个b

13、utton控件,分别用于连接数据库、调用close方法关闭连接,再用open方法打开连接以及调用dispose方法关闭并释放连接,然后调用open方法打开连接。 关键代码: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using System.Data.SqlClient; namespa

14、ce 用close和dispose方法关闭数据库连接 { public partial class Form1 : Form { SqlConnection conn; public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { } private void bu

15、tton1_Click(object sender, EventArgs e) { if (textBox1.Text == "") { MessageBox.Show("请输入数据库名称"); } else { try { string str = "server=.;database=" + textB

16、ox1.Text.Trim() + ";uid=sa;pwd=123456"; conn = new SqlConnection(str); conn.Open(); if (conn.State == ConnectionState.Open) { MessageBox.Show("连接成功"); }

17、} catch (Exception ex) { MessageBox.Show(ex.Message); textBox1.Text = ""; } } } private void button2_Click(object sender, EventArgs e) { try

18、 { string str = ""; conn.Close(); if (conn.State == ConnectionState.Closed) { str = "使用Close方法关闭数据库已经成功关闭\n"; } conn.Open(); if (conn.State == ConnectionState.

19、Open) { str += "使用Close方法关闭连接并重新调用Open方法连接数据库数据库已经成功打开\n"; } richTextBox1.Text = str; } catch (Exception ex) { richTextBox1.Text = ex.Message; } }

20、 private void button3_Click(object sender, EventArgs e) { try { conn.Dispose(); conn.Open(); } catch (Exception ex) { richTextBox1.Text = ex.Message; r

21、ichTextBox1.Text += "\n使用dispose方法关闭连接并立即调用Open方法连接数据库数据库不成功!!\n"; } } } } 二.执行sql语句对象:command对象 功能:用于对数据源执行命令 1 .command对象概述: 首先,根据使用对象的不同,需引入不同的命名空间: System.data.sqlclient命名空间 System.data.odbc命名空间; System.data.oledb命名空间; System.data.oracle命名空间; 然后,可根据引入命名空间的不

22、同,调用相应的命名空间中的connection对象进行数据库连接。 Command对象是一个数据命令对象,主要功能是向数据库发送查询、更新、删除、修改操作的sql语句。它主要有四种方式: (1) Sqlcommand:用于向sql server数据库发送sql语句,位于system.data.sqlclient命名空间下; (2) Oledbcommand:用于向oledb的数据库发送sql语句,如access和mysql数据库等都是oledb公开的数据库; (3) Odbccommand: 用于向odbc数据库发送sql语句 (4) Oraclecommand: 用于向oracle

23、数据库发送sql语句 2.设置数据源类型: 详见 “3 设置数据源类型”项目 3. command有多种方法来执行sql语句,通过sqlcommand向数据库发送增、删、改等命令。常用的方法有 (1) ExecuteNonQuery //返回受影响的行数 (2) ExecuteReader //返回一个SqldataReader对象 (3) Executescalar //返回结果集中第一行的第一列或空引用 项目4 创建一个windows应用程序,用sqlcommand的ExecuteNonQuery方法返回受影响的行数 效果图如下: 关键代码如下: us

24、ing System; using System.Data; using System.Text; using System.Windows.Forms; using System.Data.SqlClient; namespace Test04 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } SqlConnection conn; pr

25、ivate void button1_Click(object sender, EventArgs e) { conn = new SqlConnection("server=.;database=db_15;uid=sa;pwd=123456"); conn.Open(); SqlCommand cmd = new SqlCommand(); cmd.Connection = conn;//指定使用conn连接数据库 cmd.CommandT

26、ext = "update tb_command set 奖金=奖金+1 where 性别='男'"; cmd.CommandType = CommandType.Text; int i = Convert.ToInt32(cmd.ExecuteNonQuery()); label2.Text = "共有" + i.ToString() + "名男员工获得奖金"; cmd.CommandText = "update tb_command set 奖金=奖金+2 where 性别='女'"

27、 cmd.CommandType = CommandType.Text; int j = Convert.ToInt32(cmd.ExecuteNonQuery()); label3.Text = "共有" + j.ToString() + "名女员工获得奖金"; } } } 项目5 创建一个windows应用程序,用sqlcommand的ExeuterReader方法返回一个包含数据的sqldatareader对象实例 效果图如下: 代码如下: using System;

28、 using System.Data; using System.Text; using System.Windows.Forms; using System.Data.SqlClient; namespace Test05 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } SqlConnection conn; private void

29、button1_Click(object sender, EventArgs e) { conn = new SqlConnection("server=.;database=db_15;uid=sa;pwd=123456"); conn.Open(); SqlCommand cmd = new SqlCommand(); cmd.Connection = conn; cmd.CommandText = "select * from tb_comm

30、and"; cmd.CommandType = CommandType.Text;//只执行sql语句的文本形式 SqlDataReader sdr = cmd.ExecuteReader();//定义数据读取器对象,并不修改数据 while (sdr.Read()) { listView1.Items.Add(sdr[1].ToString()); } conn.Di

31、spose(); //button1.Enabled = false; } } } 二. 读取数据对象:datareader对象 功能:从数据源中读取数据流,相较DataSet数据集而言,是一个简易的数据集。 项目6 创建一个windows应用程序,向窗体中添加一个textbox和button控件,分别用于输入要查询的表名以及执行查询操作,通过sqldatareader对象的hasrows属性进行判断sqldatareader是否包含一行或者多行,即判断查询结果是否有值。 效果图如下: 关键代码如下: using Sy

32、stem; using System.Data; using System.Text; using System.Windows.Forms; using System.Data.SqlClient; namespace Test06 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sen

33、der, EventArgs e) { try { //连接数据库 //SqlConnection conn = new SqlConnection("server=.;database=db_15;uid=sa;pwd=123456"); SqlConnection conn = new SqlConnection("server=.;database=temp;uid=sa;pwd=123456");

34、 //打开数据库 conn.Open(); //创建sqlcommand对象,以便使用sql语句,并指定用conn对象连接 SqlCommand cmd = new SqlCommand("select * from "+textBox1.Text.Trim(), conn); //使用ExecuteReader()方法创建SqlDataReader sdr以便快速读数据 SqlDataReader sdr = cm

35、d.ExecuteReader(); //调用read方法读取SqlDataReader sdr.Read(); //通过SqlDataReader对象的hasrows方法判断查询结果 if (sdr.HasRows) { MessageBox.Show("数据表中有值"); } else

36、 { MessageBox.Show("数据表中没有任何数据"); } sdr.Close(); } catch (Exception ex) { MessageBox.Show(ex.Message); } } } } 四.数据适配器对象:Dataadapter对象 虽然,可以使用Command对象和DataReader对象完成所乎所有

37、的数据库功能,但需要手工编写大量代码,因此,提供了更方便的方法来支持可视化的开发,这就是dataadapter和dataset对象提供的重要功能,其中dataset可以认为是内存中的数据库,而dataadapter可以看成是数据源与dataset之间的桥梁。 1. 通过dataadapter对象的fill方法填充数据集dataset. 项目7 创建一个windows应用程序,向窗体中添加一个button控件和一个datagridview控件,分别用于执行数据绑定以及显示数据表中的数据。当单击button后,先连接数据库,然后创建一个sqldataadapter对象,使用该对象的fill方法

38、填充dataSet数据集,最后设置DataGridView控件的数据源,显示查询的数据。 效果图如下: 关键代码如下: using System; using System.Data; using System.Text; using System.Windows.Forms; using System.Data.SqlClient; namespace Test07 { public partial class Form1 : Form { public Form1() { Initial

39、izeComponent(); } SqlConnection conn; private void button1_Click(object sender, EventArgs e) { conn = new SqlConnection("server=.;database=db_15;uid=sa;pwd=123456"); SqlCommand cmd = new SqlCommand("select * from tb_command", conn);

40、 SqlDataAdapter sda = new SqlDataAdapter(); sda.SelectCommand = cmd;//SelectCommand 获取或设置用于在数据源中选择记录的命令。 DataSet ds = new DataSet();//设置数据集对象 //sda.Fill(ds, "cs"); //通过dataadapter对象的fill方法填充数据集dataset sda.Fill(ds);

41、//设置数据控件dataGridView1中的数据源 dataGridView1.DataSource = ds.Tables[0]; } private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e) { } } } 2. 通过dataadapter对象的Updata方法更新数据源 项目8 创建一个windows应用程序,查询tb_command表中所有数据

42、并显示在datagridview控件中,单击某条数据,会显示详细信息。当对某条数据进行修改后,单击“修改”按钮,使用DataAdapter对象的Updata方法更新数据库。 设计界面如下: 效果图如下: 关键代码如下: using System; using System.Data; using System.Text; using System.Windows.Forms; using System.Data.SqlClient; namespace Test08 { public partial class Form1 : Form {

43、 public Form1() { InitializeComponent(); } SqlConnection conn; DataSet ds; SqlDataAdapter sda; private void Form1_Load(object sender, EventArgs e) { //实例化SqlConnection对象conn,连接数据库 conn = new S

44、qlConnection("server=.;database=db_15;uid=sa;pwd=123456"); //创建SqlCommand对象cmd,以便使用数据库 SqlCommand cmd = new SqlCommand("select * from tb_command", conn); //实例化数据适配器SqlDataAdapter对象sda,以建立数据源与setdata间的联系 sda = new SqlDataAdapter();

45、 //设置数据适配器SqlDataAdapter对象sda的属性 sda.SelectCommand = cmd; //创建数据集对象ds并向内存中的数据集填充数据 ds = new DataSet(); sda.Fill(ds, "cs"); //设置datagridview1控件的数据源,以便在控件中显示数据表 dataGridView1.DataSource = ds.Tables[0]; }

46、 private void button1_Click(object sender, EventArgs e) { //DataTable dt = ds.Tables["cs"];//创建一个数据表eables DataTable dt = ds.Tables[0];//创建一个数据表eables //利用数据适配器对象sda的方法FillSchema,把表结构加载到tb_command中 sda.FillSchema(dt, SchemaType.Mapped)

47、 //创建一个datarow行数据对象, DataRow dr = dt.Rows.Find(txtNo.Text); //设置datarow中的值 dr["姓名"] = txtName.Text.Trim(); dr["性别"] = this.txtSex.Text.Trim(); dr["年龄"] = this.txtAge.Text.Trim(); dr["奖金"] = this.txtJJ.Tex

48、t.Trim(); //自动生成一个表单 SqlCommandBuilder cmdbuider = new SqlCommandBuilder(sda); //调用updata方法将datatable更新到数据库中 sda.Update(dt); } //在ataGridView控件的CellClick(单击单元格)事件中所要执行的代码 //可以实现某条记录的详细信息显示 private void dataGr

49、idView1_CellClick(object sender, DataGridViewCellEventArgs e) { txtNo.Text = dataGridView1.SelectedCells[0].Value.ToString();//编号后面的第一个textbox,已改名为txtNo txtName.Text = dataGridView1.SelectedCells[1].Value.ToString(); txtSex.Text = dataGridView1.SelectedCells[2].Value.ToString(); txtAge.Text = dataGridView1.SelectedCells[3].Value.ToString(); txtJJ.Text = dataGridView1.SelectedCells[4].Value.ToString(); } } } 四.数据集对象:dataset对象 Dataset对象,就像存入于内在中的一个小型数据库。它

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服