C#调用SQLWord格式.docx

上传人:b****3 文档编号:16790258 上传时间:2022-11-26 格式:DOCX 页数:27 大小:192.25KB
下载 相关 举报
C#调用SQLWord格式.docx_第1页
第1页 / 共27页
C#调用SQLWord格式.docx_第2页
第2页 / 共27页
C#调用SQLWord格式.docx_第3页
第3页 / 共27页
C#调用SQLWord格式.docx_第4页
第4页 / 共27页
C#调用SQLWord格式.docx_第5页
第5页 / 共27页
点击查看更多>>
下载资源
资源描述

C#调用SQLWord格式.docx

《C#调用SQLWord格式.docx》由会员分享,可在线阅读,更多相关《C#调用SQLWord格式.docx(27页珍藏版)》请在冰豆网上搜索。

C#调用SQLWord格式.docx

项目9创建一个windows应用程序,向窗体添加一个datagridview控件,首先获取tb_test中的数据,并存储在dataset对象ds中,然后再获取数据表tb_main中的数据,存储在另一个dataset对象ds1中,最后调用dataset对象的merge方法,将ds与ds1合并。

项目10创建一个windows应用程序,向窗体添加二个DataGridView控件和一个Button控件,第一个DataGridView控件用于数据表tb_test中的数据,当单击Button控件后,通过dataset对象的copy方法复制第一个DataGridView控件的dataset,并作为第二个DataGridView控件的数据源。

背景知识:

数据库

1数据库是按照数据结构来组织、存储和管理数据的仓库。

是存储在一起的相关数据的集合。

2关系型数据库是由许多数据表组成,数据表由是由许多条记录组成,而记录又是由许多字段组成,每个字段又对应一个对象。

Sql语言简介

Sql是一种数据库查询和程序设计语言,是关系型数据库事实上的标准语言。

1数据库的创建与删除

(1)创建数据库

选择“开始/程序/microsoftsqlserver/企业管理器”命令,打开企业管理器。

在企业管理器左侧栏目中的“数据库”项目上点右键,选择新建数据库命令。

在“数据库属性”窗口的“名称”文本框中输入新建数据库的名称,如下图

(2)删除数据库

在新建数据库上点鼠标右键,在弹出快捷菜单中选择“删除”命令

2.数据表的创建及删除,方法同上。

ADO.NET简介

A是一组可以公开数据访问服务的类,有丰富的组件和方法,用于支持对sqlserver和xml等数据源进行访问。

A对象模型由二个部分组成:

数据提供程序(dataprovider,也称为托管提供程序)和数据集(dataset),前者负责与物理数据源的连接,数据集代表实际的数据。

A支持二种访问数据的模型:

无连接模型-将数据下载到客户端机器上并将数据封装到内存中,然后可以像访问本地关系数据库一样访问内存中的数据(如dataset)

连接模型依赖于逐记录的访问,这种访问要求打开并保持与数据源的连接。

一.连接数据库对象:

connection对象

功能:

与特定数据源建立联系

1.connection对象概述:

首先,根据使用对象的不同,需引入不同的命名空间:

System.data.sqlclient命名空间

System.data.odbc命名空间;

System.data.oledb命名空间;

System.data.oracle命名空间;

然后,可根据引入命名空间的不同,调用相应的命名空间中的connection对象进行数据库连接。

例如,要连接sqlserver数据库,首先要通过usingSystem.data.sqlclient命今引用sqlserver数据提供程序,然后调用空间下的sqlconnection类连接数据库.

2.连接数据库:

先引入System.data.sqlclient命名空间,命名空间里有sqlconnection类,通过sqlconnection类的对象的open方法打开数据库。

然后,用sqlconnection对象的state属性判断数据库的连接状态。

效果图如下:

 

关键步骤如下:

在窗体中添加一个textbox控件、一个button控件和二个label控件,分别用于输入要连接的数据库名称、执行连接数据库的操作以及数据库的连接状态,然后引入system.data.sqlclient命名空间,使用sqlconnection类连接数据库。

关键代码如下:

if(textBox1.Text=="

"

{

MessageBox.Show("

请输入要连接的数据库名称"

);

}

else

try

//stringConStr="

server=.;

database="

+textBox1.Text.Trim()+"

;

uid=sa;

pwd=123456"

stringConStr="

server=hmpc;

SqlConnectionconn=newSqlConnection(ConStr);

conn.Open();

if(conn.State==ConnectionState.Open)

label2.Text="

数据库【"

】已经连接并打开"

catch

连接数据库失败"

3.关闭连接:

方法一:

调用sqlconection对象的close方法关闭一个连接(但可用open方法再打开)。

方法二:

用dispose方法关闭,并且清理连接所占用的资源(此时不可再用open打开,必须再次重新初始化连接再打开)。

主要步骤:

新建一个窗体,在窗体中添加一个textbox控件和一个richtextbox控件,分别用于输入连接的数据库名和显示连接信息及错误提示。

再设置3个button控件,分别用于连接数据库、调用close方法关闭连接,再用open方法打开连接以及调用dispose方法关闭并释放连接,然后调用open方法打开连接。

关键代码:

usingSystem;

usingSystem.Collections.Generic;

usingSystem.ComponentModel;

usingSystem.Data;

usingSystem.Drawing;

usingSystem.Text;

usingSystem.Windows.Forms;

usingSystem.Data.SqlClient;

namespace用close和dispose方法关闭数据库连接

{

publicpartialclassForm1:

Form

SqlConnectionconn;

publicForm1()

InitializeComponent();

privatevoidForm1_Load(objectsender,EventArgse)

privatevoidbutton1_Click(objectsender,EventArgse)

if(textBox1.Text=="

请输入数据库名称"

stringstr="

conn=newSqlConnection(str);

连接成功"

catch(Exceptionex)

MessageBox.Show(ex.Message);

textBox1.Text="

privatevoidbutton2_Click(objectsender,EventArgse)

conn.Close();

if(conn.State==ConnectionState.Closed)

str="

使用Close方法关闭数据库已经成功关闭\n"

str+="

使用Close方法关闭连接并重新调用Open方法连接数据库数据库已经成功打开\n"

richTextBox1.Text=str;

richTextBox1.Text=ex.Message;

privatevoidbutton3_Click(objectsender,EventArgse)

conn.Dispose();

richTextBox1.Text+="

\n使用dispose方法关闭连接并立即调用Open方法连接数据库数据库不成功!

\n"

}

二.执行sql语句对象:

command对象

用于对数据源执行命令

1.command对象概述:

Command对象是一个数据命令对象,主要功能是向数据库发送查询、更新、删除、修改操作的sql语句。

它主要有四种方式:

(1)Sqlcommand:

用于向sqlserver数据库发送sql语句,位于system.data.sqlclient命名空间下;

(2)Oledbcommand:

用于向oledb的数据库发送sql语句,如access和mysql数据库等都是oledb公开的数据库;

(3)Odbccommand:

用于向odbc数据库发送sql语句

(4)Oraclecommand:

用于向oracle数据库发送sql语句

2.设置数据源类型:

详见“3设置数据源类型”项目

3.command有多种方法来执行sql语句,通过sqlcommand向数据库发送增、删、改等命令。

常用的方法有

(1)ExecuteNonQuery//返回受影响的行数

(2)ExecuteReader//返回一个SqldataReader对象

(3)Executescalar//返回结果集中第一行的第一列或空引用

关键代码如下:

namespaceTest04

conn=newSqlConnection("

database=db_15;

SqlCommandcmd=newSqlCommand();

cmd.Connection=conn;

//指定使用conn连接数据库

cmd.CommandText="

updatetb_commandset奖金=奖金+1where性别='

男'

cmd.CommandType=CommandType.Text;

inti=Convert.ToInt32(cmd.ExecuteNonQuery());

共有"

+i.ToString()+"

名男员工获得奖金"

updatetb_commandset奖金=奖金+2where性别='

女'

intj=Convert.ToInt32(cmd.ExecuteNonQuery());

label3.Text="

+j.ToString()+"

名女员工获得奖金"

代码如下:

namespaceTest05

select*fromtb_command"

//只执行sql语句的文本形式

SqlDataReadersdr=cmd.ExecuteReader();

//定义数据读取器对象,并不修改数据

while(sdr.Read())

listView1.Items.Add(sdr[1].ToString());

//button1.Enabled=false;

二.读取数据对象:

datareader对象

从数据源中读取数据流,相较DataSet数据集而言,是一个简易的数据集。

namespaceTest06

//连接数据库

//SqlConnectionconn=newSqlConnection("

SqlConnectionconn=newSqlConnection("

database=temp;

//打开数据库

//创建sqlcommand对象,以便使用sql语句,并指定用conn对象连接

SqlCommandcmd=newSqlCommand("

select*from"

+textBox1.Text.Trim(),conn);

//使用ExecuteReader()方法创建SqlDataReadersdr以便快速读数据

//调用read方法读取SqlDataReader

sdr.Read();

//通过SqlDataReader对象的hasrows方法判断查询结果

if(sdr.HasRows)

数据表中有值"

数据表中没有任何数据"

}

sdr.Close();

四.数据适配器对象:

Dataadapter对象

虽然,可以使用Command对象和DataReader对象完成所乎所有的数据库功能,但需要手工编写大量代码,因此,提供了更方便的方法来支持可视化的开发,这就是dataadapter和dataset对象提供的重要功能,其中dataset可以认为是内存中的数据库,而dataadapter可以看成是数据源与dataset之间的桥梁。

1.通过dataadapter对象的fill方法填充数据集dataset.

namespaceTest07

conn);

SqlDataAdaptersda=newSqlDataAdapter();

sda.SelectCommand=cmd;

//SelectCommand获取或设置用于在数据源中选择记录的命令。

DataSetds=newDataSet();

//设置数据集对象

//sda.Fill(ds,"

cs"

//通过dataadapter对象的fill方法填充数据集dataset

sda.Fill(ds);

//设置数据控件dataGridView1中的数据源

dataGridView1.DataSource=ds.Tables[0];

privatevoiddataGridView1_CellContentClick(objectsender,DataGridViewCellEventArgse)

2.通过dataadapter对象的Updata方法更新数据源

项目8创建一个windows应用程序,查询tb_command表中所有数据并显示在datagridv

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 工作计划

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

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