ADONET 程序设计认证模拟题.doc
ADO.NET程序设计模拟题(共206题)1 .ADO.NET 模型中的下列哪些对象属于Connected 对象?A. ConnectionB. DataAdapterC. DataReaderD. DataSet正确答案:ABC2. 在ADO.NET 中,为访问DataTable 对象从数据源提取的数据行。可使用DataTable 对象的_属性。A RowsB ColumnsC ConstraintsD DataSet正确答案:A3.在ADO.NET 中使用XML 支持时,以下哪些建议是可取的?A 从DataSet 读取XML 格式的数据B 使用XML 格式的数据填充DataSetC 为DataSet 创建XML 格式的构架描述D 将数据以XML 格式保存在数据库中正确答案:ABC4 .目前,Microsoft .NET Framework 的发行包中包含以下.NET 数据提供程序。A. SQL Server .NET 数据提供程序B. OLE DB .NET 数据提供程序C. ODBC .NET 数据提供程序D. XML .NET 数据提供程序正确答案:AB5.为访问Microsoft Access 2000 数据库中的数据,可以使用以下哪种.NET 数据提供者连接到数据库?A. SQL Server .NET 数据提供程序B. OLE DB .NET 数据提供程序C. ODBC .NET 数据提供程序D. XML .NET 数据提供程序正确答案:BC6.为了在程序中使用ODBC .NET 数据提供程序,应在源程序工程中添加对程序集_的引用。A. System.Data.dllB. System.Data.SQL.dllC. System.Data.OleDb.dllD. System.Data.Odbc.dll正确答案:D7.SQL Server 的Windows 身份验证机制是指,当网络用户尝试连接到SQL Server 数据库时,A Windows 获取用户输入的用户和密码,并提交给SQL Server 进行身份验证,并决定用户的数据库访问权限B SQL Server 根据用户输入的用户和密码,提交给Windows 进行身份验证,并决定用户的数据库访问权限C SQL Server 根据已在Windows 网络中登录的用户的网络安全属性,对用户身份进行验证,并决定用户的数据库访问权限D 登录到本地Windows 的用户均可无限制访问SQL Server 数据库正确答案:C8. SQL Server 2000 在Windows 98 上A. 无法运行B. 运行在集成身份验证模式C. 运行在混合身份验证模式D. 不验证用户身份正确答案:C9.在Visual Studio .NET 的服务器资源管理器中,下列哪些是可见的服务项目?A. 数据连接 B. 网络连接 C.事件日志服务 D. 设备管理器正确答案:AC10.参考下列C#语句:SqlConnection Conn1 = new SqlConnection( );Conn1.ConnectionString = "Integrated Security=SSPI; InitialCatalog=northwind"Conn1.Open( );SqlConnection Conn2 = new SqlConnection( );Conn2.ConnectionString = "Initial Catalog=northwind; IntegratedSecurity=SSPI"Conn2.Open( );请问:上述语句将创建_个连接池来管理这些SqlConnection 对象?A1 B2 C0正确答案:B11.打开SQL Connection 时返回的SQL Server 错误号为4060,该错误表示:A. 连接字符串指定的服务器名称无效 17B. 连接字符串指定的数据库名称无效C. 连接超时 D. 连接字符串指定的用户名或密码错误 18456正确答案:B12.设计ADO.NET 应用程序时,在下列哪些情况下,使用Command 对象直接访问数据源更加有效?A 使用ADO.NET 对XML 数据文件中的数据进行分析和处理B 在SQL Server 数据库的表中搜索某个字段值C 计算SQL Server 数据库中数据表的行数D 在SQL Server 数据库中创建存储过程正确答案:BCD13.为创建在SQL Server 2000 中执行Select 语句的Command 对象,可先建立到SQL Server2000 数据库的连接,然后使用连接对象的_方法创建SqlCommand 对象。A. OpenB. OpenSQLC. CreateCommandD. CreateSQL正确答案:C14.数据库F:BooksMgt.mdb 包含表Book。创建名为conn 数据连接对象定义如下:OleDbConnection conn = newOleDbConnection("Provider='Microsoft.Jet.OLEDB.4.0'DataSource='F:BooksMgt.mdb'");请问下列C#语句是否正确?OleDbCommand cmd = conn.CreateCommand();cmd.CommandText = "Select * From Book"cmd.CommandType = CommandType.Text;A. 正确B. 错误正确答案:A15. 变量名为conn 的SqlConnection 对象连接到本地SQL Server 2000 的Northwind 实例。该实例中包含表Orders。为了从Orders 表查询所有CustomerID 等于“tom”的订单数据,请用正确的字符串sqlstr 的赋值语句替换下列第一行语句。string sqlstr="本字符串需要你用正确的SQL语句替换":conn.Open();SqlCommand cmd = conn.CreateCommand();cmd.CommandText = sqlstr;cmd.CommandType = CommandType.Text;SqlParameter p1 = cmd.Parameters.Add("CustomerID",SqlDbType.VarChar,5);p1.Value = "tom"SqlDataReader dr = cmd.ExecuteReader();A. string sqlstr="Select * From Orders where CustomerID=?"B. string sqlstr="Select * From Orders where CustomerID=CustomerID "C. string sqlstr="Select * From Orders where CustomerID=CustomerID "D. string sqlstr="Select * From Orders"正确答案:C16.Oracle 数据库实例MyOra1 中存储过程CountProductsInCategory 的定义如下(过程体略):CREATE FUNCTION CountProductsInCategory(catID in number,catName varchar2 out)RETURN int ASProdCount number;BEGINRETURN ProdCount;END CountProductsInCategory;使用OLE DB .NET 数据提供程序的OleDbCommand 对象访问该存储过程前,为了添加足够的参数,可以_。1. OleDbParameter p2 = new OleDbParameter("CatID",OleDbType.Int,4);p1.Direction = ParameterDirection.Input;cmd.Parameters.Add(p2);2. OleDbParameter p3 = new OleDbParameter("CatName",OleDbType.VarWChar,15);p1.Direction = ParameterDirection.Output;cmd.Parameters.Add(p3);3. OleDbParameter p1 = new OleDbParameter("RETURN_VALUE",OleDbType.Int,4);p1.Direction = ParameterDirection.ReturnValue;cmd.Parameters.Add(p1);A. 依次执行语句1、2、3B. 依次执行语句2、3、1C. 依次执行语句3、2、1D. 依次执行语句3、1、2正确答案:D17.某Command 对象cmd 将被用来执行以下SQL 语句,以向数据源中插入新记录:insert into Customers values(1000,“tom”)请问,语句cmd.ExecuteNonQuery( );的返回值可能为A. 0B. 1C. 1000D. “tom”正确答案:AB18. cmd 是一个SqlCommand 类型的对象,并已正确连接到数据库MyDB。为了在遍历完SqlDataReader 对象的所有数据行后立即自动释放cmd 使用的连接对象,应采用下列哪种方法调用ExecuteReader 方法?A. SqlDataReader dr = cmd.ExecuteReader( );B. SqlDataReader dr = cmd.ExecuteReader(true);C. SqlDataReader dr = cmd.ExecuteReader(0);D. SqlDataReader dr= cmd.ExecuteReader(CommandBehavior.CloseConnection);正确答案:D19. 下列哪个SQL 语句属于DDL 语句(数据定义语句)?A. CreateB. SelectC. GrantD. Insert正确答案:A20.SQL Server 2000 的BEGIN TRANS 和COMMIT TRANS、ROOLBACK TRANS 语句可用于_中来支持操作的事务特性。A Select 语句B 存储过程C ADO.NET 连接对象的Transaction 属性D ADO.NET 命令对象的CommandText 属性正确答案:B21.使用SQL Server .NET 数据提供程序访问SQl Server 2000 数据库时,我们创建了事务对象trans,并将其IsolationLevel 属性设置为Serializable,则在该事务中执行Command 对象的方法_。A. 可以防止在读取时破坏数据B. 可以防止脏读C. 可以防止不可重复读D. 可以防止幻象读取正确答案:ABCD22.下列哪些选项可以作为DataSet 的数据源?A. SQL Server 2000 数据库中的视图B. Oracle 数据库中的表C. XML 文件D. Excel 制表文件正确答案:ABCD23.为了在程序中使用DataSet 类定义数据集对象,应在文件开始处添加对命名空间_的引用。A. System.IOB. System.UtilsC. System.DataD. System.DataBase正确答案:C24下列哪些方法可以在DataSet 对象ds 中添加一个名为“Customers”的DataTable 对象?A. DataTable dt_customers = new DataTable();B. DataTable dt_customers = new DataTable("Customers");ds.Tables.Add(dt_customers);C. ds.Tables.Add("Customers");D. ds.Tables.Add(new DataTable("Customers");正确答案:BCD25已知ds1、ds2 分别代表两个不同的DataSet 对象。其中ds1 已包含名为“Customer”的DataTable 对象,且该DataTable 对象被变量dt_Customer 引用。已知dt_Customer表中有100 条记录,则执行下列语句后,新的数据表new_dt_Customer 中包含_条记录。DataTable new_dt_Customer = dt_Customer.Copy();A. 0B. 100C. 200D. 300正确答案:B26dt 为DataTable 类型的变量,引用名为"Customers"的DataTable 对象。该表中包含"CustomerID" 、"CustomerName" 、"Address" 、"Telephone" 等4 列。将数据列"CustomerID"设为该表的主键的正确语句有:A. dt.PrimaryKey = "CustomerID"B. dt.PrimaryKey.Add("CustomerID");C. dt.PrimaryKey = new object"CustomerID"D. dt.PrimaryKey = new DataColumndt.Columns"CustomerID"正确答案:D27已知ds 为数据集对象。以下语句的作用是_。ds.Tables"Product".Constraints.Add(new UniqueConstraint("UC_ProductName",new string"Name","Class",true);A. 为表"Product"添加一个由列"Name","Class"组合成的主键约束B. 为表"Product"添加一个由列"Name","Class"组合成的唯一性约束C. 为数据集ds 添加一个名为"Product"的数据表,并添加两个列,列名分别为"Name"和"Class"D. 为数据集ds 添加一个名为"Product"的数据表,并添加一个名为"UC_ProductName"的数据列正确答案:A28已知变量ds 引用某个DataSet 对象,该DataSet 对象中已包含一个表名为"table1"的数据表。在Windows 窗体Form1 中,为了将变量名为dataGrid1 的DataGrid 控件绑定到数据表"table1",可以使用代码_。A. dataGrid1.DataSource = ds;dataGrid1.DataMember = ds.Tables"table1"B. dataGrid1.DataMember = ds;C. dataGrid1.DataSource = new DataView(ds.Tables"table1");D. dataGrid1.DataSource = ds.Tables"table1"dataGrid1.DataMember = ds;正确答案:AC29数据集ds 中两数据表(父表:Customer;子表:CartItems)之间有如图外键约束。父表Customers 中有一行数据的CustomerID=100,子表CartItems 中有20 行数据的CustomerID=100。若从父表中删除该行,则:A. 子表不发生任何变化B. 子表中20 个相关行的CustomerID 列的值变为DBNullC. 子表中20 个相关行被删除D. 引发Exception正确答案:D30数据集对象dsNorthwind 包含两个表,表名分别为"Customers"和"Orders"。执行下列语句:dsNorthwind.Relations.Add("FK_CustomersOrders",dsNorthwind.Tables"Customers".Columns"CustomerID",dsNorthwind.Tables"Orders".Columns"CustomerID",false);该语句运行结果有_。A. 为dsNorthwind 创建了表"Customers"和"Orders"之间的导航关系B. 为表"Customers"创建了一个唯一性约束C. 为表"Orders"创建了一个唯一性约束D. 为表"Customers"创建了一个外键约束,其父表为"Orders"E. 为表"Orders"创建了一个外键约束,其父表为"Customers"正确答案:A31DataSet 对象ds 中,数据表对象Customers 的表名为"Customers",其表结构如下:列名类型列序号CustomerIDint0CompanyNamestring1Addressstring2Citystring3则下列向该表添加一行新数据的语句是否正确?object row = "ATA","A8","Beijing",1;ds.Tables"Customers".Rows.Add(row);A. 正确B. 错误正确答案:B32 DataSet 对象ds 中,数据表对象Customers 的表名为"Customers",其表结构如下:列名类型列序号CustomerIDint0CompanyNamestring1Addressstring2Citystring3该表有300 条记录,其中有一些刚刚被标记为删除。我们希望从表中查找所有已经标记为删除的、来自London 的客户信息,并将结果以City 列递减排序放入一个DataRow 数组中。则执行下列_语句可以完成此目标。ADataRow selRows = Customers.Select("City = 'London'", "City DESC",DataRowState.Deleted);BDataRow selRows = Customers.Select("City = 'London'", "City DESC",DataViewRowState.Deleted);CDataRow selRows = Customers.Select("City = 'London'", "City ASC",DataRowState.Deleted);DDataRow selRows = Customers.Select("City = 'London'", "City ASC",DataViewRowState.Deleted);正确答案:B33 DataView 对象的特性有:A. DataView 只能访问单个DataTable 表B. DataView 可以作为连接两个相关表的手段C. DataView 不能进行排序D. DataView 可以根据记录的版本、状态进行筛选正确答案:AD34一般情况下,我们可以从代表DataSet 数据的XML 文件中推断出DataSet 的架构。然而,我们需要使用XSD 架构的原因有:A. 避免从XML 文件推断DataSet 架构造成的额外开销B. 推断出的架构无法达到与XSD 架构同等的细节水平C. XML 文件不是良构的,而XSD 文件是良构的D. 从XML 推断DataSet 架构是非法的正确答案:AB35在某XSD 文件中,有以下代码片断:<xs:element name="类别"><xs:complexType><xs:sequence><xs:element name="类别_ID" msdata:AutoIncrement="true"type="xs:int" /><xs:element name="类别名称" type="xs:string" minOccurs="0" /></xs:sequence></xs:complexType></xs:element>其中,标记<xs:sequence>的作用是:A. 元素“类别_ID”的值是递增的B. “类别”元素下的两个子元素都必须出现C. “类别”元素下的两个子元素是可选的D. 要求“类别”元素下的两个子元素必须以指定的顺序出现。正确答案:D36Dataset1 为一数据集对象,语句Dataset1.ReadXml("F:/Dataset1.XML",XmlReadMode.ReadSchema);的作用是:A. 若Dataset1 已经包含架构,则将所有由XML 文件内部架构定义的新表加入Dataset1,然后向Dataset1 加载数据;B. 向Dataset1 加载数据;忽略所有XML 文件内部架构,并丢弃所有与Dataset1 现有架构不匹配的数据。C. 忽略所有XML 文件内部架构而根据XML 数据推断出新的架构。添加到Dataset1;然后向Dataset1 加载数据。D. 从XML 文件读取数据集数据修改信息,将其合并到Dataset1 中。正确答案:A37为了只把DataSet 对象MyDS 的数据修改情况写入文件"F:/ MyDS.XML"中,以备在网络可用时更新到数据库中,可执行A. MyDS.WriteXmlSchema("F:/MyDS.XSD");B. string MyDSSchema = 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);正确答案:E38目前在ADO.NET 中可以使用与下列哪些数据源相关的DataAdapter?A. SQL Server .NET 数据源B. OLE DB .NET 数据源C. XML 文件D. ODBC .NET 数据源正确答案:ABC39 DataAdapter 对象使用与_属性关联的Command 对象将DataSet 修改的数据保存入数据源。A. SelectCommandB. InsertCommandC. UpdateCommandD. DeleteCommand正确答案:C40 在使用DataAdapter 作为从数据源到DataSet 的通道时,可能遇到数据源和DataSet架构不匹配的情况。DataAdapter 使用_对象处理该情况。A. UpdateCommandB. DataBindingsC. TableMappingsD. XSD 架构文件正确答案:C41已知有如下变量:string strConn1 = “Provider=SQLOLEDB;Data Source=(local)NetSDK;”+“Initial Catalog=Northwind”;string strConn2 = “Data Source=(local)NetSDK;”+“Initial Catalog=Northwind;Provider=SQLOLEDB”;string strSql1 = “SELECT * FROM Customers”;string strSql2 = “SELECT * FROM Orders”;有下列3 组语句:1. OleDbDataAdapter da1 = new OleDbDataAdapter(strSql1,strConn1);OleDbDataAdapter da2 = new OleDbDataAdapter(strSql2,strConn1);调用da1、da2 将数据下载到数据集2. OleDbDataAdapter da1 = new OleDbDataAdapter(strSql1,strConn1);OleDbDataAdapter da2 = new OleDbDataAdapter(strSql2,strConn2);调用da1、da2 将数据下载到数据集3. OleDbConnection conn = new OleDbConnection(strConn1);OleDbDataAdapter da1 = new OleDbDataAdapter(strSql1,conn);OleDbDataAdapter da2 = new OleDbDataAdapter(strSql2,conn);调用da1、da2 将数据下载到数据集则执行效率最低的一组语句是_。A. 1B. 2C. 3D. 都一样正确答案:B42为了提高性能,在使用DataAdapter 填充DataSet 前,可以将_属性值设为false.A. DataSet 对象的EnforceConstraintsB. DataSet 对象的CaseSensitiveC. DataAdapter 对象的AcceptChangesDuringFillD. DataAdapter 对象的MissingSchemaAction正确答案:A43为了控制DataAdapter 的Fill 方法如何在填充数据之前向DataSet 加载数据源架构信息,可在调用该方法前,将DataAdapter 的MissingSchemaAction 属性设为_,使得Fill 方法在填充数据前,向DataSet 架构添加额外的表和列,并且给DataTable添加主键信息。A. AddB. AddWithKeyC. ErrorD. Ignore正确答案:B44da 为DataAdapter 对象,其SeclectCommand 的查询字符串为:Select * From Customersda 的TableMappings 集合中包含一个DataTableMapping 对象,如下代码所示:DataTableMapping dcm=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 个数据表,表名"Customers"B. 目标数据集中包含1 个数据表,表名"dtCustomers"C. 目标数据集中包含1 个数据表,表名"Table"D. 目标数据集中包含2 个数据表,表名"Customers"、"dtCustomers"E. 目标数据集中包含2 个数据表,表名"Table"、"dtCustomers"F. 发异常正确答案:D45在ADO.NET 编程中,能否使用一个DataAdapter 对象向多个DataTable 填充数据?A. 可以B. 不可以正确答案:B46 在DataSet 中,若修改某一DataRow 对象的任何一列的值,该行的DataRowState 属性的值将变为_。A. DataRowState.AddedB. DataRowState.DeletedC. DataRowState.DetachedD. DataRowState.Modified正确答案:D47 myDataSet 是一数据集对象,其中包含通过DataAdapter 从数据库检索的构架和数据。在本地对myDataSet 进行修改后,调用下列语句DataSet changes = myDataSet.GetChanges();获得的新的数据集changes 将包含原数据集中状态为_的数据行。A. AddedB. DeletedC. DetachedD. ModifiedE. Unchanged正确答案:ABD48 DataAdapter 对象的DeleteCommand 的属性值为null,将造成:A. 程序编译错误B. DataAdapter 在处理DataSet 中被删除的行时,这些行将被跳过不处理C. DataAdapter 在处理DataSet 中被删除的行时,将引发异常D. DataAdapter 在处理DataSet 中被删除的行时,将出现对话框询问用户如何处理该行正确答案:C49 DataAdapter 对象的Update 查询语句中, 使用下列哪种Where 子句可以保证本行的更新不会覆盖其他用户的更改。A. 包含数据源所有的列B. 只包含主键列C. 包含主键列和一个时戳列D. 包含主键列和已修改列正确答案:ACD50如果远端的XML Web Service 进行了安全性设置,要求调用这必须经过身份验证,则在客户端代码中应该包含_。A. 创建用户名和密码的代码B. 将客户端凭据传递给XML Web Service 的代码C. 向Microsoft 注册的代码D. 登录到XML Web Service 所属计算机的方法正确答案:B 51 .NET构架中被用来访问数据库数据的组件集合称为:A. ADOB. ADO.NETC. COM+D. Data Service.NET答案: B52 .在ADO.NET 中,执行数据库的某个存储过程,则至少需要创建_并设置它们的属性,调用合适的方法:A. 一个Connection 对象和一个Command 对象B. 一个Connection 对象和DataSet 对象C. 一个Command 对象和一个DataSet 对象D. 一个Command 对象和一个DataAdapter 对象答案:A53 .dataTable 是数据集myDataSet 中的数据表对象,有9 条记录。调用下列代码后,dataTable 中还有几条记录?dataTable.Rows8.Delete();A. 9B. 8C. 1D. 0答案:A54 .在ADO.NET中,为了确保DataAdapter对象能够正确地将数据从数据源填充到DataSet中,则必须事先设置好DataAdapter对象的下列哪个Command属性?A. Delete CommandB. Update CommandC. Insert CommandD. Select Command答案:D 55.为使用OleDb .NET Data Proviver连接到SQL Server 2000数据库,应将Connection对象的ConnectionString属性中的Provider子属性的值设置为:A. Provider=SQLOLEDBB. Provider=SQLSERVERC. Provider=Microsoft.Jet.OLEDB.4.0D. Provider=MSDAORA答案:A56.在使用ADO.NET编写连接到SQL Server 2000数据库的应用程序时,从提高性能的角度考虑,应创建_类的对象, 并调用其Open方法连接到数据库:A. OleDbConnectionB. SqlConnectionC. OdbcConnectionD. Connection答案:B57 .在使用ADO.NET 设计数据库应用程序时,可通过设置Connection 对象的_属性来指定连接到数据库时的用户和密码信息。A. ConnectionStringB. DataSourceC. UserInformationD. Provider答案:A58.使用名为TKorderEntry 的DataSet 对象开发一个管理某项目的数据,TkorderEntry对象有两个名为orderNames和OrderDetails的DataTable对象,在两个DataTable间定义一个名为orderDetailsKey 的ForeignKeyConstraint对象。想要在orderNames中删除一行,由于它与OrderDetails 表中的行相关联,会产生异常。出现问题最可能的原因是:A. OrderDetails.KeyDeleteRule的当前值是Rule.Cascade.B. OrderDetails.KeyDeleteRul的当前值是Rule.SetNull.C. OrderDetails.KeyDeleteRule的当前值是Rule.SetDefault.D. OrderDetails.KeyDeleteRule的当前值是Rule.None.答案: D59 .你正在创建一个ASP.NET 应用程序来追踪一家公司