C#数据库基本操作技术.
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
10
ADO.NET对象
2 Connection对象 Connection对象有两个重要的方法: Open()方法:打开与数据库的连接 Close()方法:关闭与数据库的连接 如: conn.Open(); conn.Close();
11
ADO.NET对象
3 Command对象 该对象用于执行针对数据库的SQL命令。其常用属性有: Connection属性 用于设置Command对象所依赖的连接对象,如: SqlCommand command = new SqlCommand(); command.Connection = conn; CommandText属性 用于设置Command对象要执行的命令文本,如: command.CommandText = "Select * From student";
例如: string ConnectionString = "Data Source=mzq;Initial Catalog=MyDatabase;" +"Persist Security Info=True;User ID=sa;Password=sql2008"; SqlConnection conn = new SqlConnection(ConnectionString); string strSQL = "INSERT INTO student VALUES('20102001','阎妮','女', 98)"; SqlCommand command = new SqlCommand(); command.Connection = conn; command.CommandText = strSQL; conn.Open(); int n = command.ExecuteNonQuery(); //执行SQL语句
9
连Leabharlann Baidu字符串的格式
(1)采windows认证登陆方式 string ConnectionString =“Data Source=./ip地址;Initial Catalog=MyDatabase;Integrated Security=True ;” 或
string ConnectionString =“server=. /ip地址;database=MyDatabase;Integrated Security=True ;”
数据库基本技术
1 创建数据库
1.1 创建数据库和数据表
先创建数据库和数据表。具体操作如下: (1)启动SQL Server 2008 Management Studio,选择左上角 的“新建查询”快捷按钮,打开SQL代码编辑器:
2
1创建数据库
1.1 创建数据库和数据表
(2)创建数据库MyDatabase和数据表student。
//第一组 SqlCommand command = new SqlCommand(); command.Connection = conn; command.CommandText = strSQL;
//第二组 SqlCommand command = new SqlCommand(strSQL); command.Connection = conn; //第三组 SqlCommand command = new SqlCommand(strSQL, conn);
17
ADO.NET对象
4 DataReader对象
CLose()方法 用于关闭DataReader对象。 GetDataTypeName(n)方法 返回第n +1列的源数据类型名称。 GetFileType(n)方法 返回第n +1列的数据类型。 GetName(n)方法 返回n +1列的字段名称。 GetOrdinal(name)方法 返回字段名称为name的字段列号。 GetValue(int n)/GetString(int n)方法 返回当前行中第n+1列的内容。由Read()方法决定当前行。
GetValues(object[] arrays)方法 返回所有字段的内容,并将内容放在arrays数组中,数组大小与字段数目相等。
IsDBNull(int n)方法 判断当前行中第n+1列是否为Null,为Null则返回true,否则返回false。
Read()方法 把记录指针往下一行移动,如果下一行没有了,则返回false,否则返回true。使18 用该方法可以从查询结果中读取数据。
例如:
command.CommandType = CommandType.Text;
13
ADO.NET对象
3 Command对象 常用方法包括: 构造函数 有多个重载版本,以SqlCommand对象为例,其主要版本包括: public SqlCommand() public SqlCommand(string cmdText) public SqlCommand(string cmdText, SqlConnection connection) 其中,第一构造函数用于创建一个SqlCommand对象,但没有做 其他的初始化工作;第二个是在创建对象的同时用参数cmdText 定义命令文本初始化;第三个则是在创建的同时用用参数 cmdText定义命令文本和已有的SqlConnection对象初始化。
16
ADO.NET对象
4 DataReader对象(实现执行查询语句的一种对象) DataReader对象的优点:执行效率高,在体积和开销上它比数 据集小,占用内存少 DataReader对象的缺点:在读取数据时它与服务器的连接始终 是打开的,它只能以单向向前的次序访问记录,所以仅用于数 据检索等功能非常单一的设计中。 DataReader对象常用的属性和方法包括: FieldCount属性 返回字段的数目。 IsClosed属性 返回DataReader对象是否关闭的状态,如果关闭则返回true, 否则返回false。 RecordsAffected属性 返回执行insert、delete 或update后受到影响的行数。
7
ADO.NET对象
ADO.NET体系结构 ADO.NET体系结构:
8
1 创建连接-Connection对象
Connection对象用于连接数据库,不同的数据库有不同的Connection对象: SQL Server数据库——SqlConnection对象 Access数据库——OleDbConnection对象 //创建连接到SQL Server数据库的Connection对象 SqlConnection conn = new SqlConnection(连接字符串); 例: string ConnectionString = "Data Source=.;Initial Catalog=MyDatabase;" +"Persist Security Info=True;User ID=sa;Password=sql2008"; SqlConnection conn = new SqlConnection(ConnectionString); 连接字符串含义 Data Source:数据库所在服务器的地址,可用server代替,要连接本机值 可设为(local)或.; Initial Catalog:要连接的数据库名,可用database代替 User ID,Password:采用SqlServer登陆时的用户名和密码
4
1创建数据库
1.1 创建数据库和数据表
INSERT INTO student VALUES('20102001','阎妮','女', 98); INSERT INTO student VALUES('20102002','张有来','男', 58); INSERT INTO student VALUES('20102003','王文喜','男', 72); INSERT INTO student VALUES('20102004','赵敏','女', 66); INSERT INTO student VALUES('20102005','罗莎','女', 88.5); INSERT INTO student VALUES('20102006','蒙恬','男', 93); GO
ADO.NET对象
4 DataReader对象
例如,下面代码先利用Command对象执行Select语句,并将返回的结果 集放到DataReader对象中,然后利用DataReader对象提供的属性和方法 逐行、逐项提取结果集中的数据,并显示到ListBox对象中。
3
1创建数据库
1.1 创建数据库和数据表
创建数据库MyDatabase和数据表student的SQL代码如下:
Use Master; GO CREATE Database MyDatabase; GO Use MyDatabase; GO CREATE TABLE student ( 学号 char(8) PRIMARY KEY, 姓名 varchar(8) NOT NULL, 性别 char(2) CHECK(性别 = '男' OR 性别 = '女'), 成绩 numeric(4,1) CHECK(成绩 >= 0 AND 成绩 <= 100) ); GO
14
ADO.NET对象
3 Command对象
例如,假设strSQL已经定义如下: string strSQL = "INSERT INTO student VALUES('20102001','阎妮','女', 98)"; 且conn是已经创建的SqlConnection对象,则下面三组语句是等价的:
12
ADO.NET对象
3 Command对象
CommandTimeOut属性 用于设置或返回终止执行命令之前需要等待的时间(单位为秒),默认为 30。 CommandType 属性 CommandType属性用于决定CommandText属性值的格式: Text:表示CommandText 属性值为SQL语句 StoredProcedure:表示CommandText 属性值为存储过程 TableDirect:表示CommandText 属性值为要读取的表。
(2)采sqlserver认证登陆方式 string ConnectionString =“Data Source=./ ip地址;Initial Catalog=MyDatabase; User ID=sa;Password=sql2008 ;” 或
string ConnectionString =“server=./ ip地址;database=MyDatabase; User ID=sa;Password=sql2008 ;”
5
数据库操作
• • • • • 数据库操作基本步骤 1、创建连接 2、打开连接 open 3、执行命令(増,删,改,查) 4、关闭连接 close
• 操作SqlServer数据库需要引入 • using System.Data.SqlClient; • 命名空间
ADO.NET对象
ADO.NET体系结构 ADO.NET就是.NET Framework类库中用于实现对数据库中的 数据进行操作的一些类的集合。它分为两个部分: DataSet对象:是内存中以“表格的形式”保存一批批的数据, 也可以理解为若干张数据表(DataTable)的集合,或者可以理 解为保持在本机内存的一个数据库,每张数据表也有自己的 “表名”; (后面会详细介绍这个对象) 数据提供者:包含许多针对数据源的组件,应用程序主要是 通过这些组件来完成针对指定数据源的连接、提取数据、操作 数据、执行数据命令。这些组件主要包括Connection、 Command、DataReader和DataAdapter。
15
ADO.NET对象
3 Command对象
ExecuteNonQuery()方法 该方法用于执行没有返回结果集的SQL语句(即执行非查询语句),如 建表语句、Insert、Update、Delete语句等。这些命令的文本是在 CommandText属性中设置的。其返回结果是执行命令后受到影响的行数。