ADO习题.docx
《ADO习题.docx》由会员分享,可在线阅读,更多相关《ADO习题.docx(50页珍藏版)》请在冰豆网上搜索。
ADO习题
《数据库访问技术—ADO.NET程序设计》模拟题
44、当使用DataAdapter将从数据源查询信息时,DataAdapter使用()读取从Command得到的数据,并将其保存在DataSet中。
P229
A.StreamReader
B.TextReader
C.XmlReader
D.DataReader
1、Employee是SQLServer2005数据库中的一个数据表。
为执行以下SQL语句从表中检索数据,应使用Command对象的()方法。
P98
Select*fromEmployee
A.ExecuteScalar
B.ExecuteXmlReader
C.ExecuteReader
D.ExecuteNonQuery
答案:
C
2、Employee是SQLServer2005数据库中的一个数据表。
为执行以下SQL语句,应使用Command对象的()方法。
P114
InsertintoEmployeeValues(10,Tom,1997)
A.ExecuteScalar
B.ExecuteXmlReader
C.ExecuteReader
D.ExecuteNonQuery
3、在ADO.NET中,为检查DataTale对象的结构,可使用DataTale对象的()属性。
P7
A.Rows
B.Columns
C.Constraints
D.DataSet
Columns
4、参考下列C#语句:
P63
SqlconnectionConn1=newSqlConnection();
Conn1.ConnectionString=“IntegratedSecurity=SSPI;InitialCatalog=northwind;Pooling=False”;
Conn1.Open();
SqlconnectionConn2=newSqlConnection();
Conn1.ConnectionString=“IntegratedSecurity=SSPI;InitialCatalog=northwind;Pooling=False”;
Conn2.Open();
请问:
上述语句将创建()个连接池来管理这些Sqlconnection对象。
A.0
B.1
C.2
0
5、为了在使用OLEDB.NET数据库提供程序的连接字符串中禁用连接池特性,可以在连接字符串指定()。
P62
A.OLEDBServices=-4
B.Pooling=False
C.OLEPooling=False
D.ConnectionLifetime=-1
OLEDBServices=-4
6、某程序用SQLServer.NET数据提供程序访问SQLServer数据库时出现SQLException异常。
其SqlError集合中某个SqlError对象的严重程度为15,则该错误可能表示()。
P55
A.可以继续工作,但某些特定语句可能无法完成。
B.SQLConnection已经被服务器关闭,用户需重新打开链接。
C.该用户可以由用户更正。
D.SQLServer服务器必须重启。
该错误可以由用户更正
7、打开SQLConnection时返回的SQLServer错误号为18456,该错误表示()。
P55
A.链接字符串指定的服务器名称无效。
17
B.链接字符串指定的数据库名称无效。
4060
C.链接超时。
D.链接字符串指定的用户名或密码无效。
连接字符串指定的用户名或密码错误
8、打开SQLConnection时返回的SQLServer错误号为17错误表示()。
A.链接字符串指定的服务器名称无效。
B.链接字符串指定的数据库名称无效。
C.链接超时。
D.链接字符串指定的用户名或密码无效。
连接字符串指定的服务器名称无效
P55
9、某程序使用SQLServer.NET数据库提供程序访问SQLServer数据库时出现SQLException异常,该异常的SqlError集合中某个SqlError的严重程度可由其()属性获得。
P54
A.LineNumber
B.Message
C.Class
D.Number
Class
10、当SQLError严重程度为()时,.NET触发SQLConection对象的InfoMessage事件,而不是引发异常。
P59
A.20-25
B.17-19
C.11-16
D.10
10
11、为访问SQLServer2000数据库中的数据,最好使用以下那种.NET数据提供者连接到数据库?
()P31
A.ODBC.NET数据提供程序
B.OLEDB.NET数据提供程序
C.XML.NET数据提供程序
D.SQLServer.NET数据提供程序
SQLServer.NET数据提供程序
12、数据库F:
\BookMgt.mdb包含表Boolk。
创建名为conn数据连接对象定义如下:
P88
OleDbConnectionconn=newOleDbConnection
(@”provide=’Microsoft.Jet.OLEDB.4.0’;Data.Source=’F:
\BookMgt.mdb’”);
请问下列c#语句是否正确?
()
OleDbCommandcmd=conn.CreateCommand();
cmd.CommandText=”SecectAllBooks”;
cmd.CommandType=CommandType.StoredProcedure;
A.正确
B.错误
13、数据库F:
\BookMgt.mdb包含表Book。
创建名为conn数据连接对象定义如下:
P88
OleDbConnectionconn=newOleDbConnection
(@”provide=’Microsoft.Jet.OLEDB.4.0’;Data.Source=’F:
\BookMgt.mdb’”);
请问下列c#语句是否正确?
()
OleDbCommandcmd=conn.CreateCommand();
cmd.CommandText=”Book”;
cmd.CommandType=CommandType.TableDirect;
A.正确
B.错误
14、变量名为Conn的SqlConnection对象连接到本地SQLServer2000的Northwind实例。
该实例中包含下列存储过程(过程体省略):
P88
CREATEPROCEDURECountProductsInCategory(@catIDint,@catNamenvarchar(15)OUTPUT)
AS
…...
DECLARE@ProdCountint
RETURN@ProdCount
则下列应用SqlCommand访问CountProductsInCategory的语句是否正确?
()
Conn.Open();
SqlCommandcmd=Conn.CreateCommand();
cmd.CommandText=”CountProductsInCategory”;
cmd.CommandType=CommandType.StoredProcedure;
intcount=cmd.ExecuteScalar();
A.错误
B.正确
错误
15、变量名为Conn的SqlConnection对象连接到本地SQLServer2000的Northwind实例。
该实例中包含下列存储过程(过程体省略):
P90
CREATEPROCEDURECountProductsInCategory(@catIDint,@catNamenvarchar(15)OUTPUT)
AS
DELARE@ProdCountint
……
RETURN@ProdCount
则应用SqlCommand利用该连接访问CountProductsInCategory之前,应为SqlCommand对象添加()个SqlParameter对象。
A.1
B.2
C.3
D.4
3
16、为了将某个sqlcommond对象的参数p1设置为输出参数应该()P90
A.p1.ParamerterDirection=SqlParamerter.Output
B.p1.Directon=SqlParamerterDirection.Output
C.p1.Directon=ParamerterDirection.Output
D.p1.ParamerterDirection=ParamerterDirection.Output
p1.Directon=ParamerterDirection.Output
17、为了将某个sqlcommand对象cmd的参数rt设置为返回值,应该()P90
A.令rt=cmd.ExecuteScalar();然后检查rt.Value即为返回值
B.将其为做cmd的最后一个参数,并且将其Direction属性值设为ParamerterDirection.ReturnValue
C.将其Direction属性值设为ParamerterDirection.ReturnValu,在cmd对象参数集合中的顺序不重要。
D.将其为做cmd的第一个参数,并且将其Direction属性值设为ParamerterDirection.ReturnValue
将其为做cmd的第一个参数,并且将其Direction属性值设为ParamerterDirection.ReturnValue
18、我们已知SQLServer2005数据库MyDB中包含表MyTable。
Cmd是一个SqlCommand类型的对象,并已正确连接到数据库MyDB。
执行下列语句SqlDataReaderdr=cmd.ExecuteReader();为了获得表MyTable的架构信息,可调用()。
P100
A.DataTableTableStruct=dr.Read();
B.dr.GetSchemaTable();Dr.GetValues(TableStruct);
C.DataTableTableStruct=dr.GetSchemaTable();
D.DataTableTableStruct=dr.NextResult();
DataTableTableStruct=dr.GetSchemaTable();
19、dt为DataTable类型的变量,引用名为"Customers"的Datatable对象.该表中包含"CustomerID""CustomerName""Address","Telephone"等号列.当将列"customerID"标识为dt的主键时,表自动将该列的()P145
A.AllowDBNull属性设置为false,并且将Unique属性设置为true
B.AllowDBNull属性设置为ture,并且将Unique属性设置为false
C.AllowDBNull属性设置为false,并且将Unique属性设置为false
D.AllowDBNull属性设置为true,并且将Unique属性设置为true
AllowDBNull属性设置为false,并且将Unique属性设置为true
20、为DataTable表添加UniqueConstraint的作用是()P145
A.使与该UNiqueContraint相关的列的值自动递减的
B.使与该UNiqueContraint相关的列的值在不能为空值
C.使与该UNiqueContraint相关的列的值在自动递增的
D.使与该UNiqueContraint相关的列的值在每行都是唯一的
使与该UNiqueContraint相关的列的值在每行都是唯一的
21、dt为DataTable类型的变量,引用名为"Customers"的Datatable对象,在该数据表中添加了两列,如下所示:
P188
Datacolumnp=dt.Columns.Add("Price",typeof(decimal));
Datacolumnp=dt.Columns.Add("Quantity",typeof(int));
请问.若需要再加入一个名为"Total"的新列,以计算每行产品的总价,应使用以下哪条语句?
()
A.dt.Columns.Add("Total",typeof(decimal),"p.Value*q.Value");
B.dt.Columns.Add("Total",typeof(decimal),"p*q");
C.dt.Columns.Add("Total",typeof(decimal),"Price*Quantity");
D.dt.Columns.Add("Total",typeof(int),"p*q");
dt.Columns.Add("Total",typeof(decimal),"Price*Quantity");
22、以下说法是否正确?
()P148
对windows窗体控件而言,只有Tag属性可以绑定到数据源.
A.正确
B.错误
错误
23、textBox1是窗体Form1中的一个TextBox控件,下列语句的作用是()
TextBox1.DataBindings.Add("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
将textBox1的Text属性绑定到数据集dsNorthwind的表Products的列ProductID
24、数据集ds中两数据表(父表:
Cutomer子表:
CartItems)之间有如图P161
名称(N)Relation1
指定与数据集中的表相关的键.
父表
子表
Customer
CartItems
列
键列
外键列
CustomerID
CustomerID
更新规则()
删除规则()
接受/拒绝规则()
Cascade
Cascade
None
父表Customers中有一行数据的customerID=100,子表CartItems中有20行数据的CustomerID=100.若从父表删除该行,则()
A.子表中20个相关行的CustomerID列的值变为DBNull
B.子表中20个相关行被删除
C.子表不发生任何变化
D.引发Exception
子表中20个相关行被删除
25、数据集ds中两数据表(父表:
Customer;子表:
CartItems)之间有如下外键约束.P161
名称(N):
Fk_Customer_CartItems
更新规则(U):
删除规则(D):
接受/拒绝规则(A):
Cascade
SetNull
None
父表Customers中有一行数据的customerID=100,子表CartItems中有20行数据的CustomerID=100.若从父表删除该行,则()
A.子表中20个相关行的CustomerID列的值变为DBNull
B.子表中20个相关行被删除
C.子表不发生任何变化
D.引发Exception
子表中20个相关行的CustomerID列的值变为DBNull
25.数据集ds中两数据表(父表:
Customer;子表:
CartItems)之间有如图外键约束。
父表Customers中有一行数据的CustomerID=100,子表CartItems中有20行数据的CustomerID=100。
若从父表中删除该行,则:
A.子表不发生任何变化
B.子表中20个相关行的CustomerID列的值变为DBNull
C.子表中20个相关行被删除
D.引发Exception
正确答案:
D
26、数据集ds中两数据表(父表:
Customer;子表:
CartItems)之间有如下外键约束.P161
名称(N):
Fk_Customer_CartItems
更新规则(U):
删除规则(D):
接受/拒绝规则(A):
None
Cascade
None
父表CustomerID中有一行数据的CustomerID=100,子表CartItems中有20行数据的CustomerID=100.若在父表中将该行的CustomerID改为200,则()。
A.子表中20个相关行的CustomerID列的值变为DBNull
B.子表中20个相关行的CustomerID列的值修改为200
B.子表中20个相关行被删除
C.子表不发生任何变化
D.引发Exception
引发Exception
27、数据集ds中两数据表(父表:
Customer;子表:
CartItems)之间有如下外键约束。
P161
父表(P):
子表(C):
Customer
CarItems
列(Q):
键列
外键列
CustomerID
CustomerID
更新规则(U):
删除规则(D):
接受/拒绝规则(A):
Cascade
Cascad
None
父表CustomerID中有一行数据的CustomerID=100,子表CartItems中有20行数据的CustomerID=100.若在父表中将该行的CustomerID改为200,则()。
A.子表中20个相关行的CustomerID列的值变为DBNull
B.子表中20个相关行的CustomerID列的值修改为200
B.子表中20个相关行被删除
C.子表不发生任何变化
D.引发Exception
子表中20个相关行的CustomerID修改为200
28、数据集ds中两数据表(父表:
Customer;子表:
CartItems)之间有如下外键约束。
P161
父表(P):
子表(C):
Customer
CarItems
列(Q):
键列
外键列
CustomerID
CustomerID
更新规则(U):
删除规则(D):
接受/拒绝规则(A):
SetNull
Cascad
None
父表CustomerID中有一行数据的CustomerID=100,子表CartItems中有20行数据的CustomerID=100.若在父表中将该行的CustomerID改为200,则()。
A.子表中20个相关行的CustomerID列的值变为DBNull
B.子表中20个相关行的CustomerID列的值修改为200
B.子表中20个相关行被删除
C.子表不发生任何变化
D.引发Exception
子表中20个相关行的CustomerID列的值变为DBNull
29、数据集ds中有表Customer,Orders,Mails三个数据表,这三个表都有名为”CustomerID”的列。
FK_CustomerOrders是父表Customer的”CustomerID”列与子表Orders的”CustomerID”列之间的导航关系;
FK_CustomerMails是父表Customers的”CustomerID”列与子表Mails的”CustomerID”列之间的导航关系:
P165
请问,若drCustomer为表Customer的一个数据行对象,则获得与drCustomer相关的表Orders数据行数组的语句是()。
儿子可能会有几个
A.DataRow[]dra=drCustomer.GetChildRows(FK_CustomerOrders);
B.DataRow[]dra=drCustomer.GetChildRows(FK_CustomerMails);
C.DataRow[]dra=drCustomer.GetParentRows(FK_CustomerOrders);
D.DataRow[]dra=drCustomer.GetParentRows(FK_CustomerMails);
30、数据集ds中有表Customer,Orders.Mails三个数据表,这三个表都有名为”CustomerID”的列.FK_CustomerOrders是父表Customer的”CustomerID”列与子表Orders的”CustomerID”列之间的导航关系;FK_CustomerMails是父表Customers的”CustomerID”列与子表Mails的”CustomerID”列之间的导航关系:
P166
请问,若drOrder为表Orders的一个数据行对象,则获得与drOrder相关的表Customer数据行数组的语句是()。
父亲一般情况的话只有一个
A.DataRow[]dr=drCustomer.GetParenRow(FK_CustomerMails)
B.DataRow[]dr=drCustomer.GetParenRows(FK_CustomerMails)
C.DataRow[]dr=drCustomer.GetParenRow(FK_CustomerOrders)
D.DataRow[]dr=drCustomer.GetParenRows(FK_CustomerOrders)
31、DataSet1为一数据集对象,语句:
P209
DataSet1.ReadXml(“F:
/Dataset1.XML”,XmlReadMode.IgnoreSchema);的作用是()
A.忽略所有XML文件内部架构而根据XML数据推断出新的架构。
添加到DataSet1;然后向DataSet1添加数据InferSchema
B.从XML文件读取数据集数据修改信息,将其合并到DataSet1中DiffGram
C.向Dataset1加载数据;忽略所有XML文件内部架构,并丢弃所有与Dataset1现有架构不匹配的数据IgnoreSchema
D.向Dataset1加载数据;忽略所有XML文件内部