ado-NET-复习题

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一.选择题
1.employee 是sql server 2000数据库中的一个数据表,为执行下列sql语句,
select * from employee
应调用命令对象(command对象)的哪个方法:
a.executescalar
b.executexmlreader
c.executereader
d.executenonquery
2.employee 是sql server 2000数据库中的一个数据表,为执行下列sql语句,
insert into employee values(10,tom,1997)
应调用命令对象(command对象)的哪个方法:
a.executescalar
b.executexmlreader
c.executereader
d.executenonquery
3.在中,为检查datatable对象的结构,可以使用datatable对象的()属性
a.rows
b.columns(列)
c.constraints
d.dataset
4.参考下列语句:
Dim c1 as new sqlconnection
C1.connectionstring=”data source =.;initial catalog=aaa;user id=sa”
Dim c2 as new sqlconnection
C2.connectionstring=”data source =.;initial catalog=aaa;user id=sa”
Dim c3 as new sqlconnection
C3.connectionstring=”data source =.;initial catalog=bbb;user id=sa”
Dim c4 as new sqlconnection
C4.connectionstring=”data source =bbb;initial catalog=aaa;user id=sa”
Dim c5 as new sqlconnection
C5.connectionstring=”data source =.;initial catalog=aaa;user id=sa;pooling=false”(pooling=false,表示禁用连接池)
问,上述语句创建了几个连接池来管理这些Sqlconnection对象?
a. 1
b. 2
c. 3
d. 4
5.为了在使用数据提供程序的连接字符串中禁用连接池,可以在连接字符串中指定
a.oledb services=-4
b.pooling=false
d.connection lifetime= -1
6.当 sql error严重程度为()时,.NET触发SQL Conection 对象的InfoMessage事件,而不是引发异常。

A 20---25
B 17---19
C 11---16
D 1---10
7当访问SQL Server 2008数据库中的数据,最好使用一下哪种.NET数据提供者连接到数据库?()A ODBC .NET 数据提供程序 B OLEDB .NET数据提供程序
C 数据提供程序
D SQL Server .NET数据提供程序
8. 当访问SQL Server 6.5数据库中的数据,最好使用一下哪种.NET数据提供者连接到数据库?()
A ODBC .NET 数据提供程序
B OLEDB .NET数据提供程序(sql,access等,都可以访问。


C 数据提供程序
D SQL Server .NET数据提供程序
9.变量名为Conn的SqlCon nection对象连接到本地SQL Server 2000 的Northwind实例
该实例中包含下列存储过程(过程体省略):
CREATE PROCEDURE CountProductsInCategory(@catID int, @catName nvarchar(15) OUTPUT)
AS
DECLARE @ProdCount int。

RETURN @ProdCount
则应用sqlCommand利用该连接访问CountProductsInCategory之前,应为sqlCommand对象添加()个sqlParameter对象。

A 1
B 2
C 3
D 4
10.为了将某个SqlCOmmand对象的参数p1设置为输出参数,应该()。

A p1.Direction = SqlParameterDirection.output
B p1 .ParameterDirection = SqlParameter .Output
C p1.Direction = ParameterDirection.output
D p1 .ParameterDirection = ParameterDirection.output
11.为了将某个SqlCommand对象cmd的参数rt设置为返回值,应该()。

A 将其作为cmd的第一个参数,并且将其Direction属性值设为ParameterDirection .ReturnValue
B将其Direction 属性值设为ParameterDirection.ReturnValue,在cmd对象参数集合中的顺序不重要C将其作为cmd的最后一个参数,并将direction属性值设为ParameterDirection .ReturnValue
D令rt = cmd .ExecuteScalar() ;然后检查rt Value 即为返回值
12.为DataTable表添加UniqueConstraint的作用是()。

A 使与该UniqueConstrain 相关的列的值是自动递减的
B使与该UniqueConstrain 相关的列的值不能为空值
C使与该UniqueConstrain 相关的列的值是自动递增的
D使与该UniqueConstrain 相关的列的值在每行都是唯一的
13.textBox1是窗体Form1中的一个TextBox控件,下列语句的作用是()
textbox
(“Text”,dsNorthwind,”Products.ProductID”);
A 将textBox1的Text属性绑定到数据集dsNorthwind的表Products
B将textBox1的绑定到数据集dsNorthwind的表Products的列ProductID
C将textBox1的Text属性绑定到数据集Products的表ProductID
D将textBox1的Text属性绑定到数据集dsNorthwind的表Products的列ProductID
14.为了使DataAdapter执行最基本的功能,在DataAdapter对象中,下列哪个Command属性的值是必须有效的?
D.SelectCommand
15.dataadapter对象使用与( )属性关联的command对象将用户在datadet中新建的数据行保存入
A.deletecommand
B.updatecommand
C.insertcommand
D.selectcommand
16.dataadapter对象使用与( )属性关联的command对象从数据源删除数据.
A.updatecommand
B.insertcommand
C.deletecommand
D.selectcommand
17.dataadapter对象使用与( )属性关联的command对象从数据源查询数据.
A.updatecommand
B.insertcommand
C.deletecommand
D.selectcommand
18.为了在DataTable中添加一个计算总价的列,应在DataTable的Columns集合中添加一个DataCloumn 对象,并设定其()属性为“Quantity*UnitPrice”.
A,Expression B,dataType
c,Caption D,ColumnName
19.可用()方法合并两个具有匹配架构的DataSet.
A Merge
B Update
C Fill
D Getchanges
20,某程序使用sql 数据提供程序访问sql sever数据库是出现sqlexception异常,该异常的SqlError集合中某个sqlError集合中某个sqlError的严重程度可由其()属性获得。

A.LineNumber
B.Class
C.Message
D.Number
21,为了在程序中使用ole 数据提供程序,应在源程序工程中添加对程序集()的应用。

22,使用数据提供程序时,连接字符串的()关键字指出要连接的oledb数据源的类型。

A,Driver
B,Provider
C,Initial Catalog
D,Data Source
23.能够在一个DataSet对象中同时保存来自SQL Server 2000和SQL Server 6.5的数据?
A 能
B 不能
24.在程序中,第一次调用下列语句将创建一个内部名为()的数据集对象。

DataSet ds=new DataSet();
A ""
B "ds"
C "NewDataSet"
D "DataSet1"
25.在程序中,某连接字符串如下:
“provider=Microsoft.jet.oledb.4.0;data source=\samples\northwind.mdb”
则该连接所引用的数据库是()类型。

A sql server 2000
B oledb4.0
C sql server 6.5
D access
A dataAdapter
B dataset
C command
D connection
27.将事务对象trans 回滚的语句是。

A trans.roolback();
B trans.restore();
C mit();
D trans.close();
28.使用command对象的()方法可以执行返回单一值的sql命令。

A ExecuteScalar
B ExecuteSingleValue
C ExecuteNonquery
D ExecuteReader
29.数据集ds 包含数据表MyTable。

MyTable 中目前有100条记录。

调用下列语句后,MyTable表中还有多少条记录?()
MyTable1.Rows[99].Delete();
A . 0
B. 98 delete标记为删除----隐藏。

C.99
D.100
30.数据集ds 包含数据表MyTable。

MyTable 中目前有100条记录。

调用下列语句后,该表中还有多少条记录?()
MyTable1.Rows[99].Delete();
MyTable1.AcceptChanges();
A.100 acceptchanges接受修改。

B.99
C.98
D.0
31.数据集ds 包含数据表MyTable。

MyTable 中目前有100条记录。

调用下列语句后,该表中还有多少条记录?()
MyTable1.Rows[99].Delete();
MyTable1.RejectChanges();
A.100 rejectchanges拒绝修改
B.99
C.98
D . 0
32.数据集ds包含数据表mytable1.为了对该表第4行记录的值进行修改,应该先调用()。

Amytable1.rows[3].initedit();
B mytable1.rows[3].beginedit();
C mytable1.beginedit();
Dds.beginedit()
33. 在中,为访问DataTable对象从数据源提取的数据行。

可使用DataTable对象的_______属性。

A.Rows (行)内容是行,结构是列。

B.Columns
D.DataSet
34. 类性化的DataSet是指__________。

A.DataSet类的任一个派生类的实例
B.DataSet类的实例
C.包含架构信息的DataSet类的实例
D.DataSet类的任一个派生类
35. 为创建在SQL Server 2000 中执行Select 语句的Command 对象,可先建立到SQL Server2000
数据库的连接,然后使用连接对象的_______方法创建SqlCommand对象。

A. Open
B. OpenSQL
C. CreateCommand
D. CreateSQL
36. 在 编程中,能否使用一个DataAdapter 对象向多个DataTable 填充数据?_____________
A. 可以
B. 不可以
37.设置连接对象的哪个属性可以指定连接到特定的数据库()
A ConnectionString
B Commandtext
C Commandtype
D Connection
38.当使用ExecuteNonQuery方法执行DDL语句时,将返回()
A 结果集
B受影响的行数
C 返回值
D 输出参数
39.连接sql server2000数据库,使用哪种.net数据提供程序最好()
A SQL 数据提供程序
B OLE 数据提供程序
C 数据提供程序
D 数据提供程序
40、设cn是SqlConnection对象的一个实例,并且已经打开,strSql是一个字符串,其内容是一个Sql 命令,以下哪些代码创建了SqlCommand对象的一个实例cmd?()
A Dim cmd As SqlCommand
Cmd = New SqlCommand(cn,strSql)
B Dim cmd As SqlCommand
C Dim cmd As SqlCommand(cn,strSql)
D Dim cmd As SqlCommand
Cmd = New sqlcommand(strSql,cn)
二.填空题
1.打开sql connection 时返回的sql server 错误号为18456 ,该错误表示:连接字符串指定的用户名或密码错误
2.打开sql connection 时返回的sql server 错误号为17,该错误表示:连接字符串指定的服务器名称无效
3.打开sql connection 时返回的sql server 错误号为4060,该错误表示:无效的数据库名
5.为了向数据源更新数据,应该调用(数据适配器的update方法).
6.可使用DataSet类的(WriteXml)方法将当前DataSet对象的数据和构架信息保存到文件中;可使用DataSet类的(ReadXml)方法从文件中加载构架信息和数据到DataSet对象;可使用DataSet类的(ReadXmlSchema)方法从文件中加载构架信息到DataSet对象;可使用DataSet类的(WriteXmlSchema )方法将DataSet对象中的架构信息写到文件中。

7.dim cnNorthwind as new OleDbConnection()
CnNorthwind.ConnectionString=”Provider=SQLOLEDB;”+
“Data Sourde=ProdServ01;”+
“Initial Catalog=Pubs”+
“Integrated Security=SSPI”
则该连接的服务器的机器名为____________ ProdServ01_______________;
数据库名为_____ Pubs _______________,SSPI可以写为____true_____
8.在将Dataset中数据修改更新回数据库时,对于无法更新的dataset数据行,我们可以调用_____ RejectChanges_______拒绝更改,从而使该行数据恢复到原来的状态.
9.使用数据提供程序时,连接字符串的_______Provider _______关键字指出要连接的oledb 数据源的类型。

10.在XSD架构中,____ KEYREF _______元素定义了数据项之间的关系,并且因设为关系模型的“外键”, ______ KEY _______元素映射为主键,______ UNIQUE _______元素映射为唯一约束。

11. DataApter有一个带有command参数的构造函数。

若使用该构造函数创建新的DataAdapter对象,则该Command引用将作为DataAdapter的_______selectcommand__属性被存储在新构造的DataAdapter 对象中。

12. 为了在程序中使用sql 数据提供程序,应在源程序中导入命名空间__________________; 为了在程序中使用数据提供程序,应在源程序中导入命名空间__________________.
13.要使用命令对象调用存储过程,必须设置命令对象的___connection_________________,____commandText____________________和___commandType___________________属性。

Framework中包含两种数据提供程序,分别是SQL 数据提供程序和 数据提供程序。

15. DataReader提供了一个 NEXTRESULT 方法允许移动到下一个返回行的查询结果集。

16 .非连接环境中使用的对象有DATASET ,XXXCONNECTION ,XXXDATAADAPTER 。

17. Sql server的两种登陆模式混合登陆和集成WINDOWS NT登陆
18、连接字符串中initial catalog的含义是要连接的数据库的名字。

19. 创建具有相同结构的新的DataTable,使用DateTable的 CLONE 方法。

20. 要使用OLE 数据提供程序,使用windows登陆模式登陆sql server服务器名为 London中的pubs数据库,连接字符串应写为: Provider=SQLOLEDB; Integrated Security=true;Initial Catalog=pubs; Data Source=London .
程序填空
1.
Dim com As New SqlCommand
com.Connection = con
mandText = "select * from jobs;select * from authors"
con.Open()
dr = com.ExecuteReader
While dr.Read
ListBox1.Items.Add(dr(1))
End While
dr.NextResult()
While dr.Read
ListBox1.Items.Add(dr(1))
End While
con.Close()
2.
Dim cn As New SqlConnection("data source=.;initial catalog=pubs;integrated security=true")‘连接本机的pubs数据库,使用集成windowsnt方式登录
‘打开连接
cn.Open()
‘声明事务对象
Dim tran As SqlTransaction
tran = cn.BeginTransaction
Dim cmd As New SqlCommand
cmd.Connection = cn
cmd.Transaction = tran
Try
mandText = "insert into jobs(job_desc,min_lvl,max_lvl)
values('teacher',11,200)"
cmd.ExecuteNonQuery()
mandText = "insert into jobs(job_desc,min_lvl,max_lvl)
values('student',15,100)"
cmd.ExecuteNonQuery()
'提交事务,真正实现插入操作
mit()
MsgBox("事务执行成功!")
Catch ex As Exception
'出现异常就回滚事务,取消所有的插入操作
tran.Rollback()
MsgBox("事务执行失败,撤销所有操作")
Finally
cn.Close()
End Try
3
Dim cn As New SqlConnection("data source=.;initial catalog=pubs;integrated security=true")
Dim da As New SqlDataAdapter("select * from jobs", cn)
da.Fill(ds, "jobs")
Dim dv As New DataView()
dv.Table = ds.Tables("jobs")
dv.Sort = "job_desc desc"
DataGridView1.DataSource = dv
Dim i As Integer = dv.Find("teacher")
MsgBox(i)
三、简答题
1.什么是.NET数据提供程序?
答:.NET数据提供程序是架构的核心组件,它能够在数据源与组件、XML Web服务或应用程序之间通信。

数据提供程序允许连接到数据源,检索和操纵数据,并更新数据源。

2.在什么情况下使用连接环境?对于一个连接应用程序你会使用哪些类?
答:某个需要实时连接监控产品产量和库存的工厂。

某个需要持续连接到证券报价的交易机构。

3.什么是事务?它有什么特点?
答:事务是单独的工作单元,它保证在同一个事务内所做的事要么成功,要么失败,不会出现第三种情况。

事务具有ACID的属性:原子性,一致性,隔离性,持续性。

4.DataTable和DataView之间有何不同?
答:DataTable对象用来表示DataSet中的表。

一个DataTable表示内存中的关系数据的一个表。

数据对于它所驻留的.NET应用程序是本地的,但它不能用现有的数据源填充。

DataView对象类似于SQL Server中的视图。

它表示DataTable中数据子集的对象。

5.使用DataAdapter填充DataSet的最有效方式是什么?
答:首先,创建一个与DataAdapter传入的数据结构相同的类型化DataSet。

当准备填充DataSet时,调用BeginLoadData方法来在加载数据的过程中禁用约束检查和索引维护。

然后调用DataAdapter的Fill方法,填充DataSet中的指定DataTable。

最后,在完全加载数据之后调用EndLoadData。

6.什么是连接池?
连接池是保持连接活动和集中的过程,因而能有效的再次使用连接。

将使用相同连接字符串的连接一起放入池中,并在不重建连接的情况下再次使用它。

7.如何配置DataAdapter,以允许根据DataSet的内容更新数据源?
答:当创建DataAdapter对象时,为它的InsertCommand、UpdateCommand和DeleteCommand属性定义SqlCommand或OleDbCommand对象。

DataAdapter隐式地使用这些命令对象,将DataSet的更改传回数据源。

四.编程题
1.编程使用非连接环境操作本地机器上的pubs数据库,将employee表中的所有数据显示在DataGridView 控件上。

(注意:连接数据库时使用集成WINDOWS NT登陆方式)
Dim da As New SqlDataAdapter("select * from employee", "data source=.;initial catalog=pubs;integrated security=true")
Dim ds As New DataSet
da.Fill(ds, "employee")
DataGridView1.DataSource = ds.Tables(0)
2.编程使用连接环境操作本地机器上的northwind数据库,读取orders表中的所有数据,并将第一列的信息显示在listbox控件上。

(注意:连接数据库时使用集成WINDOWS NT登陆方式)
Dim cn As New SqlConnection("data source=.;initial catalog=northwind;integrated security=true")
Dim cmd As New SqlCommand("select * from orders", cn)
Dim dr As SqlDataReader
cn.Open()
dr = cmd.ExecuteReader
While dr.Read
ListBox1.Items.Add(dr(0))
End While
cn.Close()
3. 编程构建一个数据集,数据集的名字是newds;
数据集中有两张表,名字分别是stuinfo,tb2;
第一张表有3列,名字分别是id(整型),name(字符串型),age(整型);
第二张表有2列,名字分别是column1(字符串型),column2(浮点型);
最后将两张表的显示在不同的datagridview控件上
Dim ds As New DataSet("newds")
Dim dt1 As New DataTable("stuinfo")
dt1.Columns.Add("id", GetType(System.Int32))
dt1.Columns.Add("name", GetType(System.String))
dt1.Columns.Add("age", GetType(System.Int32))
ds.Tables.Add(dt1)
Dim dt2 As New DataTable("tb2")
dt2.Columns.Add("column1", GetType(System.String))
dt2.Columns.Add("column2", GetType(System.Double))
ds.Tables.Add(dt2)
DataGridView1.DataSource = ds.Tables("stuinfo")
DataGridView2.DataSource = ds.Tables("tb2")
AS
select * from jobs
编程使用连接环境调用pubs数据库中的名为aaa的存储过程,在窗体的文本框(txtShow,已设为多行文本显示)中显示所有数据
TextBox1.Text = ""
Dim cn As New SqlConnection("data source=.;initial catalog=pubs;integrated
security=true")
Dim cmd As New SqlCommand()
cmd.Connection = cn
mandType = CommandType.StoredProcedure
mandText = "aaa"
Dim dr As SqlDataReader
cn.Open()
dr = cmd.ExecuteReader
While dr.Read
TextBox1.Text += "工作号:" + dr("job_id").ToString + " 工作描述:" + dr("job_desc") + " 最小值:" + dr("min_lvl").ToString + " 最大值:" + dr("max_lvl").ToString + vbCrLf
End While
cn.Close()
5.将pubs数据库中jobs表中的所有数据装入数据集,在其上应用数据视图,将工作号>5的工作信息按工作描述降序排序,显示在DataGridView控件上
Dim da As New SqlDataAdapter("select * from jobs", "data source=.;initial
catalog=pubs;integrated security=true")
Dim ds As New DataSet
da.Fill(ds, "jobs")
Dim dv As New DataView(ds.Tables("jobs"))
dv.RowFilter = "job_id>5"
dv.Sort = "job_desc desc"
DataGridView1.DataSource = dv。

相关文档
最新文档