《数据库编程一.doc》由会员分享,可在线阅读,更多相关《数据库编程一.doc(8页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、数据库编程(一)1. SQL Server 的Windows 身份验证机制是指,当网络用户尝试连接到SQL Server 数据库时,( )AWindows 获取用户输入的用户和密码,并提交给SQL Server 进行身份验证,并决定用户的数据库访问权限BSQL Server 根据用户输入的用户和密码,提交给Windows 进行身份验证,并决定用户的数据库访问权限CSQL Server 根据已在Windows 网络中登录的用户的网络安全属性,对用户身份进行验证,并决定用户的数据库访问权限D登录到本地Windows 的用户均可无限制访问SQL Server 数据库正确答案:C2. Visual S
2、tudio .NET 的服务器资源管理器中,下列哪些是可见的服务项目?A. 数据连接B. 网络连接C. 事件日志服务D. 设备管理器正确答案:AC3. 参考下列C#语句:SqlConnection Conn1 = new SqlConnection( );Conn1.ConnectionString = Integrated Security=SSPI; InitialCatalog=northwind;Conn1.Open( );SqlConnection Conn2 = new SqlConnection( );Conn2.ConnectionString = Initial Catalo
3、g=northwind; IntegratedSecurity=SSPI;Conn2.Open( );请问:上述语句将创建( )个连接池来管理这些SqlConnection 对象?A1B2C0正确答案:B4. 打开SQL Connection 时返回的SQL Server 错误号为4060,该错误表示:( )A. 连接字符串指定的服务器名称无效B. 连接字符串指定的数据库名称无效C. 连接超时D. 连接字符串指定的用户名或密码错误正确答案:A5. 设计ADO.NET 应用程序时,在下列哪些情况下,使用Command 对象直接访问数据源更加有效?( )A 使用ADO.NET 对XML 数据文件中
4、的数据进行分析和处理B 在SQL Server 数据库的表中搜索某个字段值C 计算SQL Server 数据库中数据表的行数D 在SQL Server 数据库中创建存储过程正确答案:BCD6. 为创建在SQL Server 2000 中执行Select 语句的Command 对象,可先建立到SQL Server2000 数据库的连接,然后使用连接对象的( )方法创建SqlCommand 对象。A. OpenB. OpenSQLC. CreateCommandD. CreateSQL正确答案:C7. 数据库F:BooksMgt.mdb 包含表Book。创建名为conn 数据连接对象定义如下:Ol
5、eDbConnection 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. 错误正确答案:A8. 变量名为conn 的SqlConnection 对象连接到本地SQL Server 2000 的Northw
6、ind 实例。该实例中包含表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.VarCha
7、r,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;正确答案:C9. Ora
8、cle 数据库实例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 = ne
9、w 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,OleDb
10、Type.Int,4);p1.Direction = ParameterDirection.ReturnValue;cmd.Parameters.Add(p1);A. 依次执行语句1、2、3B. 依次执行语句2、3、1C. 依次执行语句3、2、1D. 依次执行语句3、1、2正确答案:D10. 某Command 对象cmd 将被用来执行以下SQL 语句,以向数据源中插入新记录:insert into Customers values(1000,“tom”)请问,语句cmd.ExecuteNonQuery( );的返回值可能为( )A. 0B. 1C. 1000D. “tom”正确答案:AB11.
11、 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(CommandBeha
12、vior.CloseConnection);正确答案:D12. 下列哪个SQL 语句属于DDL 语句(数据定义语句)?( )A. CreateB. SelectC. GrantD. Insert正确答案:A13. SQL Server 2000 的BEGIN TRANS 和COMMIT TRANS、ROOLBACK TRANS 语句可用于( )中来支持操作的事务特性。ASelect 语句B存储过程CADO.NET 连接对象的Transaction 属性DADO.NET 命令对象的CommandText 属性正确答案:B14. 使用SQL Server .NET 数据提供程序访问SQl Serv
13、er 2000 数据库时,我们创建了事务对象trans,并将其IsolationLevel 属性设置为Serializable,则在该事务中执行Command 对象的方法( )。A. 可以防止在读取时破坏数据B. 可以防止脏读C. 可以防止不可重复读D. 可以防止幻象读取正确答案:ABCD15. 下列哪些选项可以作为DataSet 的数据源?( )A. SQL Server 2000 数据库中的视图B. Oracle 数据库中的表C. XML 文件D. Excel 制表文件正确答案:ABCD16. 为了在程序中使用DataSet 类定义数据集对象,应在文件开始处添加对命名空间( )的引用。A.
14、 System.IOB. System.UtilsC. System.DataD. System.DataBase正确答案:C17. 已知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正确答
15、案:B18. dt 为DataTable 类型的变量,引用名为Customers的DataTable 对象。该表中包含CustomerID 、CustomerName 、Address 、Telephone 等4 列。将数据列CustomerID设为该表的主键的正确语句有:( )A. dt.PrimaryKey = CustomerID;B. dt.PrimaryKey.Add(CustomerID);C. dt.PrimaryKey = new objectCustomerID;D. dt.PrimaryKey = new DataColumndt.ColumnsCustomerID;正确答
16、案:D19. 已知ds 为数据集对象。以下语句的作用是( )。ds.TablesProduct.Constraints.Add(new UniqueConstraint(UC_ProductName,new stringName,Class,true);A. 为表Product添加一个由列Name,Class组合成的主键约束B. 为表Product添加一个由列Name,Class组合成的唯一性约束C. 为数据集ds 添加一个名为Product的数据表,并添加两个列,列名分别为Name 和ClassD. 为数据集ds 添加一个名为Product的数据表,并添加一个名为UC_ProductName
17、的数据列正确答案:A20. 已知变量ds 引用某个DataSet 对象,该DataSet 对象中已包含一个表名为table1的数据表。在Windows 窗体Form1 中,为了将变量名为dataGrid1 的DataGrid 控件绑定到数据表table1,可以使用代码( )。A. dataGrid1.DataSource = ds;dataGrid1.DataMember = ds.Tablestable1;B. dataGrid1.DataMember = ds;C. dataGrid1.DataSource = new DataView(ds.Tablestable1);D. dataGr
18、id1.DataSource = ds.Tablestable1;dataGrid1.DataMember = ds;正确答案:AC21. 数据集ds 中两数据表(父表:Customer;子表:CartItems)之间有如图外键约束。父表Customers 中有一行数据的CustomerID=100,子表CartItems 中有20 行数据的CustomerID=100。若从父表中删除该行,则:( )A. 子表不发生任何变化B. 子表中20 个相关行的CustomerID 列的值变为DBNullC. 子表中20 个相关行被删除D. 引发Exception正确答案:D22. 数据集对象dsNor
19、thwind 包含两个表,表名分别为Customers和Orders。执行下列语句:dsNorthwind.Relations.Add(FK_CustomersOrders,dsNorthwind.TablesCustomers.ColumnsCustomerID,dsNorthwind.TablesOrders.ColumnsCustomerID,false);该语句运行结果有( )。A. 为dsNorthwind 创建了表Customers和Orders之间的导航关系B. 为表Customers创建了一个唯一性约束C. 为表Orders创建了一个唯一性约束D. 为表Customers创建了
20、一个外键约束,其父表为OrdersE. 为表Orders创建了一个外键约束,其父表为Customers正确答案:A23. DataSet 对象ds 中,数据表对象Customers 的表名为Customers,其表结构如下:列名 类型列序号CustomerID int 0CompanyName string 1Address string 2City string 3则下列向该表添加一行新数据的语句是否正确?( )object row = ATA,A8,Beijing,1;ds.TablesCustomers.Rows.Add(row);A. 正确B. 错误正确答案:B24. DataSet
21、对象ds 中,数据表对象Customers 的表名为Customers,其表结构如下:列名 类型列序号CustomerID int 0CompanyName string 1Address tring 2City string 3该表有300 条记录,其中有一些刚刚被标记为删除。我们希望从表中查找所有已经标记为删除的、来自London 的客户信息,并将结果以City 列递减排序放入一个DataRow 数组中。则执行下列( )语句可以完成此目标。ADataRow selRows = Customers.Select(City = London, City DESC,DataRowState.De
22、leted);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);正确答案:B25. DataView 对象的特性有:( )A. DataVi
23、ew 只能访问单个DataTable 表B. DataView 可以作为连接两个相关表的手段C. DataView 不能进行排序D. DataView 可以根据记录的版本、状态进行筛选正确答案:AD26. 一般情况下,我们可以从代表DataSet 数据的XML 文件中推断出DataSet 的架构。然而,我们需要使用XSD 架构的原因有:( )A. 避免从XML 文件推断DataSet 架构造成的额外开销B. 推断出的架构无法达到与XSD 架构同等的细节水平C. XML 文件不是良构的,而XSD 文件是良构的D. 从XML 推断DataSet 架构是非法的正确答案:AB27. 在某XSD 文件中
24、,有以下代码片断:其中,标记的作用是:( )A. 元素“类别_ID”的值是递增的B. “类别”元素下的两个子元素都必须出现C. “类别”元素下的两个子元素是可选的D. 要求“类别”元素下的两个子元素必须以指定的顺序出现。正确答案:D28. Dataset1 为一数据集对象,语句Dataset1.ReadXml(F:/Dataset1.XML,XmlReadMode.ReadSchema);的作用是:( )A. 若Dataset1 已经包含架构,则将所有由XML 文件内部架构定义的新表加入Dataset1,然后向Dataset1 加载数据;B. 向Dataset1 加载数据;忽略所有XML 文件
25、内部架构,并丢弃所有与Dataset1 现有架构不匹配的数据。C. 忽略所有XML 文件内部架构而根据XML 数据推断出新的架构。添加到Dataset1;然后向Dataset1 加载数据。D. 从XML 文件读取数据集数据修改信息,将其合并到Dataset1 中。正确答案:A29. 为了只把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);正确答案:E30. 目前在ADO.NET 中可以使用与下列哪些数据源相关的DataAdapter?( )A. SQL Server .NET 数据源B. OLE DB .NET 数据源C. XML 文件D. ODBC .NET 数据源正确答案:ABC