第1页共7页期末考试卷(A)(时间:120分钟)年级课号课程名称数据库访问技术卷页___考试方式闭卷专业班级学生姓名______学号_____成绩____注意:所有解答都做在答卷纸上,并请写清学号、姓名和有关题号。一、单选题(每空1分,共30分)1.已知ds1、ds2分别代表两个不同的DataSet对象。其中ds1已包含名为“Customer”的DataTable对象,且该DataTable对象被变量dt_Customer引用。已知dt_Customer表中有300条记录,则执行下列语句后,新的数据表new_dt_Customer中包含______条记录。DataTablenew_dt_Customer=dt_Customer.Copy();A.0B.100C.200D.3002.dt为DataTable类型的变量,引用名为Customers的DataTable对象。该表中包含CustomerID、CustomerName、Address、Telephone等4列。将数据列CustomerID设为该表的主键的正确语句有:A.dt.PrimaryKey=CustomerID;B.dt.PrimaryKey=newobject[]{CustomerID};C.dt.PrimaryKey=newDataColumn[]{dt.Columns[CustomerID]};D.dt.PrimaryKey.Add(CustomerID);3已知ds为数据集对象。以下语句的作用是_____。ds.Tables[Product].Constraints.Add(newUniqueConstraint(UC_ProductName,newstring[]{Name,Class},true));A.为表Product添加一个由列Name,Class组合成的唯一性约束B.为表Product添加一个由列Name,Class组合成的主键约束C.为数据集ds添加一个名为Product的数据表,并添加两个列,列名分别为Name和ClassD.为数据集ds添加一个名为Product的数据表,并添加一个名为UC_ProductName的数据列4数据集ds中两数据表(父表:Customer;子表:CartItems)之间有如图外键约束。父表Customers中有一行数据的CustomerID=100,子表CartItems中有40行数据的CustomerID=100。若从父表中删除该行,则:A.子表不发生任何变化B.子表中20个相关行被删除C.子表中40个相关行的CustomerID列的值变为DBNullD.引发Exception5.数据集对象dsNorthwind包含两个表,表名分别为Customers和Orders。执行下列语句:dsNorthwind.Relations.Add(FK_CustomersOrders,dsNorthwind.Tables[Customers].Columns[CustomerID],dsNorthwind.Tables[Orders].Columns[CustomerID],false);该语句运行结果有____________。A.为表Orders创建了一个外键约束,其父表为CustomersB.为表Customers创建了一个唯一性约束C.为表Orders创建了一个唯一性约束D.为表Customers创建了一个外键约束,其父表为OrdersE.为dsNorthwind创建了表Customers和Orders之间的导航关系6DataSet对象ds中,数据表对象Customers的表名为Customers,其表结构如下:列名类型列序号CustomerIDint0CompanyNamestring1第2页共7页Addressstring2Citystring3该表有300条记录,其中有一些刚刚被标记为删除。我们希望从表中查找所有已经标记为删除的、来自London的客户信息,并将结果以City列递减排序放入一个DataRow数组中。则执行下列______语句可以完成此目标。A.DataRow[]selRows=Customers.Select(City='London',CityDESC,DataRowState.Deleted);B.DataRow[]selRows=Customers.Select(City='London',CityASC,DataRowState.Deleted);C.DataRow[]selRows=Customers.Select(City='London',CityDESC,DataViewRowState.Deleted);D.DataRow[]selRows=Customers.Select(City='London',CityASC,DataViewRowState.Deleted);7在某XSD文件中,有以下代码片断:xs:elementname=类别xs:complexTypexs:sequencexs:elementname=类别_IDmsdata:AutoIncrement=truetype=xs:int/xs:elementname=类别名称type=xs:stringminOccurs=0//xs:sequence/xs:complexType/xs:element其中,标记xs:sequence的作用是:A.“类别”元素下的两个子元素是可选的B.“类别”元素下的两个子元素都必须出现C.元素“类别_ID”的值是递增的D.要求“类别”元素下的两个子元素必须以指定的顺序出现。8Dataset1为一数据集对象,语句Dataset1.ReadXml(F:/Dataset1.XML,XmlReadMode.ReadSchema);的作用是:A.忽略所有XML文件内部架构而根据XML数据推断出新的架构。添加到Dataset1;然后向Dataset1加载数据。B.向Dataset1加载数据;忽略所有XML文件内部架构,并丢弃所有与Dataset1现有架构不匹配的数据。C.若Dataset1已经包含架构,则将所有由XML文件内部架构定义的新表加入Dataset1,然后向Dataset1加载数据;D.从XML文件读取数据集数据修改信息,将其合并到Dataset1中。9为了只把DataSet对象MyDS的数据修改情况写入文件F:/MyDS.XML中,以备在网络可用时更新到数据库中,可执行A.MyDS.WriteXmlSchema(F:/MyDS.XSD);B.stringMyDSSchema=MyDS.GetXml();C.MyDS.WriteXml(F:/MyDS.XSD,XmlWriteMode.WriteSchema);D.MyDS.WriteXml(F:/MyDS.XSD,XmlWriteMode.IgnoreSchema);E.MyDS.WriteXml(F:/MyDS.XSD,XmlWriteMode.DiffGram);10.DataAdapter对象使用与______属性关联的Command对象将DataSet修改的数据保存入数据源。A.DeleteCommandB.InsertCommandC.UpdateCommandD.SelectCommand11.在使用DataAdapter作为从数据源到DataSet的通道时,可能遇到数据源和DataSet架构不匹配的情况。DataAdapter使用________对象处理该情况。A.UpdateCommandB.TableMappingsC.DataBindingsD.XSD架构文件12已知有如下变量:stringstrConn1=“Provider=SQLOLEDB;DataSource=(local)\NetSDK;”+“InitialCatalog=Northwind”;stringstrConn2=“DataSource=(local)\NetSDK;”+“InitialCatalog=Northwind;Provider=SQLOLEDB”;stringstrSql1=“SELECT*FROMCustomers”;stringstrSql2=“SELECT*FROMOrders”;有下列3组语句:1.OleDbDataAdapterda1=newOleDbDataAdapter(strSql1,strConn1);OleDbDataAdapterda2=newOleDbDataAdapter(strSql2,strConn1);调用da1、da2将数据下载到数据集2.OleDbDataAdapterda1=newOleDbDataAdapter(strSql1,strConn1);第3页共7页OleDbDataAdapterda2=newOleDbDataAdapter(strSql2,strConn2);调用da1、da2将数据下载到数据集3.OleDbConnectionconn=newOleDbConnection(strConn1);OleDbDataAdapterda1=newOleDbDataAdapter(strSql1,conn);OleDbDataAdapterda2=newOleDbDataAdapter(strSql2,conn);调用da1、da2将数据下载到数据集则执行效率最低的一组语句是_______。A.都一样B.1C.2D.313为了提高性能,在使用DataAdapter填充DataSet前,可以将_____属性值设为false.A.DataSet对象的CaseSensitiveB.DataSet对象的EnforceConstraintsC.DataAdapter对象的AcceptChangesDuringFillD.DataAdapter对象的MissingSchemaAction14.da为DataAdapter对象,其SeclectCommand的查询字符串为:Select*FromCustomersda的TableMappings集合中包含一个DataTableMapping对象,如下代码所示:DataTableMappingdcm=da.TableMappings.Add(Customers,dtCustomers);dcm.ColumnMappings.Add(CustomerID,dtCustomerID);dcm.ColumnMappings.Add(CustomerName,dtCustomerName);dcm.ColumnMappings.Add(Address,dtAddress);数据集ds中已包含一个名为dtCustomers的数据表,该表包含3个数据列,列名分别为dtCustomerID、dtCustomerName、dtAddress;另一方面,数据库中包含一个名为Customers的数据表,该表包含3个数据列,列名分别为CustomerID、CustomerName、Address。请问,若调用以下代码结果如何?da.FillSchema(ds,SchemaType.Source,Customers);A.目标数据集中包含1个数据表,表名CustomersB.目标数据集中包含1个数据表,表名TableC.目标数据集中包含1个数据表,表名dtCustomersD.目标数据集中包含2个数据表,表名Table、dtCustomersE.目标数据集中包含2个数据表,表名Customers、dtCustomersF.发异常15.在DataSet中,若修改某一DataRow对象的任何一列的值,该行的DataRowState属性的值将变为________。A.DataRowState.AddedB.DataRowState.ModifiedC.DataRowState.DetachedD.DataRowState.Delete