可以引用其它表中的列。 10、ADO.net 的七大对象 答:Connection,Command,DataAdapter,DataSet,DataReader,configuration 11、谈谈数据完整性和 C#的安全性 答:所谓数据完整性就是指数据库中数据的正确性和一致性,利用数据的完整性约束,可以保证数据库中 数据的质量。因此,在进行表的设计时,一定要注意到对数据完整性的
设计。类型有:实体完整性,域完整 性,引用完整性,用户定义完整性。 安全是每个 C# 应用程序的一个非常重要的方面,在每个开发阶段都必须考虑:而不仅仅是在完成设 计和实现后才需要考虑。 a) 使用 checked 关键字控制整型算术运算和转换的溢出检查上下文。 b) 始终对参数使用最严格的数据类型。例如,在将一个值传入描述数据结构大小的方法时,应使用 无符号整数而不是整数。 c) 不要根据文件名作出决定。文件名可以用多种不同的方式表示,因而检测是否有特定文件时可能 会跳过该文件。 d) 千万不要将密码或其他敏感信息硬编码到应用程序中。 e) 始终验证用于生成 SQL
查询的输入。 f) 验证传入方法的所有输入。 System.Text.RegularExpressions 命名空间中的正则表达式方法对于确认 输入(如电子邮件地址)的格式是否正确很有用。 g) 不要显示异常信息:它会给任何潜在的攻击者提供有价值的线索。 h) 确保应用程序在最低的可能特权下运行时能够正常
工作。少数应用程序要求用户作为管理员登录 i) 不要使用自己的加密算法,应使用 System.Security.Cryptography 类。 j) 为程序集指
定强名称。 k) 不要在 XML 或其他配置文件中存储敏感信息。 l) 仔细检查包装本机代码的托管代码。确保本机代码是安全的,尤其是在防止缓冲区溢出方面。 m) 在使用从应用程序之外传入的委托时应保持谨慎。 n) 对程序集运行 FxCop 以确保符合 Microsoft .NET Framework 设计准则。FxCop 还可以查找 200 多种代码缺陷并针对这些代码缺陷发出警告。 12、谈谈 C/S 和 B/S 的特点 答:C/S 是客户端/服务器端,C/S 的程序通常也叫胖客户端,也就是一个程序的大部分功能,都在客户端 实现,而服务器端只实现一小部分功能。通过这点不难看出,C/S 的
程序大部分在客户端实现,对于服务 器端的压力相对小一些,服务器端可以节省一些。而且 C/S 的程序用窗口来做,个人认为开发效率上快一 点。但 C/S 的程序一大弊端就是,必须要在客户端安装并部署程序才能运行,也就是用户必须得到客户端 程序才可以运行。所以得考虑不同
系统之间的安装与配置。 B/S 是浏览器/服务器端,B/S 的程序通常也叫瘦客户端,与 C/S 相反。B/S 的程序大部分功能都要在服务器 端实现,客户端只用来做辅助的控制功能。因为 B/S 的程序直接部署安装在服务器上。用户只需要有浏览 器,并知道网址就可以使用程序。客户端不必做任何配置和安装,即可使用应用程序。而 B/S 也是有缺点 的,首先 B/S 大部分功能都要在服务器端实现,对于服务器的要求就很高。服务器同时要应付用户访问与
程序处理,所以服务器的配置必须能够应付。另外就是 B/S 的程序是浏览器中执行,所以 B/S 的程序操作 客户端电脑的硬件,一般就得安装 ActiveX 等插件在客户端才可以操作。因此 B/S 的程序对于操作硬件, 优势没有 C/S 的程序要好。 13、变量的命名规则有哪些? 答:驼峰,匈牙利,属性+类型+描述 14、ADO 和 ADO.NET 的区别? 答:ADO 使用 OLE DB 接口并基于微软的 COM 技术,而 ADO.NET 拥有自己的 ADO.NET 接口并且基于 微软的.NET 体系架构。 ADO 以 Recordset 存储,而 ADO.
NET 则以 DataSet 表示。Recordset 看起来更像单表,如果让 Recordset 以 多表的方式表示就必须在 SQL 中进行多表连接。反之,DataSet 可以是多个表的集合。ADO 的运作是一种 在线方式,这意味着不论是浏览或更新数据都必须是实