做asp.net三层 sql语句太多 有什么办法?

IT业余者 2010-11-24 08:53:38
听说用数据模型可以很好避开这个问题 是这样吗?原理是什么?附加代码说明最好
...全文
283 26 打赏 收藏 转发到动态 举报
写回复
用AI写文章
26 条回复
切换为时间正序
请发表友善的回复…
发表回复
gongjie416 2010-11-25
  • 打赏
  • 举报
回复
用linq
jingitstart 2010-11-25
  • 打赏
  • 举报
回复
封装
一般sql语句不会很多哦,是不是有些地方弄复杂了啊
zzz9413 2010-11-25
  • 打赏
  • 举报
回复
开始我也用山寨三层架构,代码生成器生成N多的 table,entity,manage。写个组合查询,都SQL+=N多SQL语句。最烦的是几十又臭又长的拼音字段都要查询一遍。

后来使用MVC三层架构,学习了LINQ
LINQ把设计视图到模型的增删改查都全包了,MVC里模型代码很少,用控制器还可以直接生成前台页面。省很多事。
tangjunjie1688 2010-11-25
  • 打赏
  • 举报
回复
建议lz.封装.重载. 一些基本的.对数据库操作的 增删查改. 只要在数据层.写SQL传入.
redboy999 2010-11-25
  • 打赏
  • 举报
回复
谈谈我的粗浅理解吧!
平时我们使用三层基本是这样的,
UI层:
DataTable dt=new class().getSchool();

业务层:

public DataTable getSchool()
{
......业务处理
return getSchoolData()
}

数据层:
所有sql的增删改查都子这里处理
public DataTable getSchoolData()
{
执行SQL
Select top(*) From T

}

弄三层我觉得目的就是把一个模块从数据展示到业务处理,再到最后获取数据,进行细化,使得业务清晰,便于扩展维护
流氓兔 2010-11-25
  • 打赏
  • 举报
回复
正在用linq的飘过,神马都是浮云~
redboy999 2010-11-25
  • 打赏
  • 举报
回复
谈谈我的粗浅理解吧!
平时我们使用三层基本是这样的,
UI层:
DataTable dt=new class().getSchool();

业务层:

public DataTable getSchool()
{
......业务处理
return getSchoolData()
}

数据层:
所有sql的增删改查都子这里处理
public DataTable getSchoolData()
{
执行SQL
Select top(*) From T

}

弄三层我觉得目的就是把一个模块从数据展示到业务处理,再到最后获取数据,进行细化,使得业务清晰,便于扩展维护
quanpp 2010-11-25
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 sp1234 的回复:]
引用楼主 a318543343 的回复:
听说用数据模型可以很好避开这个问题 是这样吗?原理是什么?附加代码说明最好


基本上这是倒过来编程造成的。许多非常一个大型的系统,也不过100多个业务逻辑服务。表现层调用业务逻辑功能,哪来的什么sql语句?

纠结于sql语句,是真的三层吗?
[/Quote]

说的很有道理。
西门喷血 2010-11-25
  • 打赏
  • 举报
回复
使用LINQ 3行代码搞定!
chen_ya_ping 2010-11-25
  • 打赏
  • 举报
回复
不是吧,是不是你的程序中写了太多没有用的sql语句,估计是没有设计好。
暖眸 2010-11-25
  • 打赏
  • 举报
回复
sql语句尽量少用。还是存储过程好些。执行速度快。节省资源
lansecheng 2010-11-25
  • 打赏
  • 举报
回复
你可以使用动软代码生成器 可以省时间。
如果不用sql语句,那你可以使用linq 他自动把数据表给实体化,然后你使用linq语句操作他们,跟操作内存一样的
sglogin 2010-11-25
  • 打赏
  • 举报
回复
分层是把面向数据库的、面向业务的和需要表现的语句分开写,除了互相调用的以外,语句不会多什么的。这样程序可以规范一些。我们都是用模板生成一些简单的语句的。
Mykingseft 2010-11-25
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 ywjq 的回复:]
你可以尝试 LINQ TO SQL,或者 NHIBERNATE 等
[/Quote]
Up!
zthsn 2010-11-25
  • 打赏
  • 举报
回复
三层与SQL语句好象没有什么必然的联系吧?
你直接调用存储过程 到时候要改的话 直接改数据库里面的存储过程就好了
yubangqi 2010-11-25
  • 打赏
  • 举报
回复
实体框架集,正解,业务不是太复杂的情况
claymore1114 2010-11-25
  • 打赏
  • 举报
回复
抽象 封装,重整一下.
缪军 2010-11-25
  • 打赏
  • 举报
回复
关于分层就不说了,我只是给楼主关于Sql开发的建议:
从学习微软的DBMS的时候就可以知道,insert,update,Delete和那种最简单的查询时不需要先什么sql语句或者存储过程的,那些都是可以标准化的协议,写一次封装好了就可以了,
以下代码是一个标准的insert处理,仅供参考:
private static string GetSqlInsertString(StyleSoft.Common2.Model.MethodModel pMethod) {
//N多参数验证代码省去了
string _Sql = "INSERT INTO ["+ pMethod.RelateTable +"] (" + GetSqlInsertColumns(pMethod.Params)
+ ") VALUES ("
+ GetSqlParamValues(pMethod.Params)
+ "); SET @" + pMethod.Params[0].ParamName + " = ISNULL(@@IDENTITY,0);";
return _Sql;
}//end function
panzhige 2010-11-25
  • 打赏
  • 举报
回复
研究一下动软的那个东东
sugercgq 2010-11-25
  • 打赏
  • 举报
回复
从来没将三层应用到实际中过...可能我还没接触更深吧
加载更多回复(6)
这是整部学习资料 由于太大第一章免费供应给大家 在我的上传资源中 如果觉得还不过希望大家给个好评 当然具体本书的作者就不深究了把! 第1章 认识ASP.NET 3.5 1.1 什么是ASP.NET 1.1.1 .NET历史与展望 1.1.2 ASP.NET与ASP 1.1.3 ASP.NET开发工具 1.1.4 ASP.NET客户端 1.1.5 ASP.NET 3.5新增控件 1.1.6 ASP.NET 3.5 AJAX 1.2 .NET应用程序需框架 1.2.1 什么是.NET应用程序框架 1.2.2 公共语言运行时(CLR) 1.2.3 .NET Framework 类库 1.3 安装Visual Studio 2008 1.3.1 安装Visual Studio 2008 1.3.2 主窗口 1.3.3 文档窗口 1.3.4 工具箱 1.3.5 解决方案管理器 1.3.6 属性窗口 1.3.7 错误列表窗口 1.4 安装SQL Server 2005 1.5 ASP.NET应用程序基础 1.5.1 创建ASP.NET应用程序 1.5.2 运行ASP.NET应用程序 1.5.3 编译ASP.NET应用程序 1.6 小结 第2章 C# 3.0程序设计基础 2.1 C#程序 2.1.1 C#程序的结构 2.1.2 C# IDE的代码设置 2.2 变量 2.2.1 定义 2.2.2 值类型 2.2.3 引用类型 2.3 变量规则 2.3.1 命名规则和命名习惯 2.3.2 声明并初始化变量 2.3.3 数组 2.3.4 声明并初始化字符串 2.3.5 操作字符串 2.3.6 创建和使用常量 2.3.7 创建并使用枚举 2.3.8 类型转换 2.4 编写表达式 2.4.1 表达式和运算符 2.4.2 运算符的优先级 2.5 使用条件语句 2.5.1 if语句的使用方法 2.5.2 switch选择语句的使用 2.6 使用循环语句 2.6.1 for循环语句 2.6.2 while循环语句 2.6.3 do while循环语句 2.6.4 foreach循环语句 2.7 异常处理语句 2.7.1 throw异常语句 2.7.2 try-catch异常语句 2.7.3 try-finally异常语句 2.7.4 try-catch-finally异常语句 2.8 小结 第3章 面向对象设计基础 3.1 什么是面向对象 3.1.1 传统的面向过程 3.1.2 面向对象的概念 3.1.3 面向组件的概念 3.2 面向对象的C#实现 3.2.1 定义 3.2.2 创建一个类和其方法 3.2.3 类成员 3.2.4 构造函数和析构函数 3.3 对象的生命周期 3.3.1 类成员的访问 3.3.2 类的类型 3.3.3 .NET的垃圾回收机制 3.4 使用命名空间 3.4.1 为什么要用命名空间 3.4.2 创建命名空间 3.4.3 分层设计中使用命名空间 3.5 类的方法 3.5.1 编写方法 3.5.2 给方法传递参数 3.5.3 通过引用来传递参数 3.5.4 方法的重载 3.6 封装 3.6.1 为什么要封装 3.6.2 类的设计 3.7 属性 3.7.1 语法 3.7.2 只读/只写属性 3.8 继承 3.8.1 继承的基本概念 3.8.2 创建派生类 3.8.3 对象的创建 3.8.4 使用抽象类 3.8.5 使用密封类 3.9 多态 3.9.1 抽象方法 3.9.2 覆盖 3.9.3 虚方法的抽象类 3.9.4 抽象属性 3.10 委托和事件 3.10.1 委托 3.10.2 声明事件 3.10.3 引发事件 3.10.4 订阅事件 3.10.5 委托和事件 3.11 类命名 3.11.1 命名空间的命名 3.11.2 类的命名原则 3.11.3 接口的命名原则 3.11.4 属性的命名原则 3.11.5 枚举的命名原则 3.11.6 只读字段的命名原则 3.11.7 参数名 3.11.8 委托命名原则 3.12 小议设计模式 3.12.1 什么是设计模式 3.12.2 为什么要使用设计模式 3.12.3 改装现有类 3.13 小结 第4章 ASP.NET的网页代码模型及生命周期 4.1 ASP.NET的网页代码模型 4.1.1 创建ASP.NET网站 4.1.2 单文件页模型 4.1.3 代码隐藏页模型 4.1.4 创建ASP.NET Web Application 4.1.5 ASP.NET网站和ASP.NET应用程序的区别 4.2 代码隐藏页模型的解释过程 4.3 代码隐藏页模型的事件驱动处理 4.4 ASP.NET客户端状态 4.4.1 视图状态 4.4.2 控件状态 4.4.3 隐藏域 4.4.4 Cookie 4.4.5 客户端状态维护 4.5 ASP.NET页面生命周期 4.6 ASP.NET生命周期中的事件 4.6.1 页面加载事件(Page_PreInit) 4.6.2 页面加载事件(Page_Init) 4.6.3 页面载入事件(Page_Load) 4.6.4 页面卸载事件(Page_Unload) 4.6.5 页面指令 4.7 ASP.NET网站文件类型 4.8 小结 第二篇 ASP.NET窗体控件 第5章 Web窗体的基本控件 5.1 控件的属性 5.2 简单控件 5.2.1 标签控件(Label) 5.2.2 超链接控件(HyperLink) 5.2.3 图像控件(Image) 5.3 文本框控件(TextBox) 5.3.1 文本框控件的属性 5.3.2 文本框控件的使用 5.4 按钮控件(Button,LinkButton,ImageButton) 5.4.1 按钮控件的通用属性 5.4.2 Click单击事件 5.4.3 Command命令事件 5.5 单选控件和单选组控件(RadioButton和RadioButtonList) 5.5.1 单选控件(RadioButton) 5.5.2 单选组控件(RadioButtonList) 5.6 复选框控件和复选组控件(CheckBox和CheckBoxList) 5.6.1 复选框控件(CheckBox) 5.6.2 复选组控件(CheckBoxList) 5.7 列表控件(DropDownList,ListBox和BulletedList) 5.7.1 DropDownList列表控件 5.7.2 ListBox列表控件 5.7.3 BulletedList列表控件 5.8 面板控件(Panel) 5.9 占位控件(PlaceHolder) 5.10 日历控件(Calendar) 5.10.1 日历控件的样式 5.10.2 日历控件的事件 5.11 广告控件(AdRotator) 5.12 文件上传控件(FileUpload) 5.13 视图控件(MultiView和View) 5.14 表控件(Table) 5.15 向导控件(Wizard) 5.15.1 向导控件的样式 5.15.2 导航控件的事件 5.16 XML控件 5.17 验证控件 5.17.1 表单验证控件(RequiredFieldValidator) 5.17.2 比较验证控件(CompareValidator) 5.17.3 范围验证控件(RangeValidator) 5.17.4 正则验证控件(RegularExpressionValidator) 5.17.5 自定义逻辑验证控件(CustomValidator) 5.17.6 验证组控件(ValidationSummary) 5.18 导航控件 5.19 其他控件 5.19.1 隐藏输入框控件(HiddenField) 5.19.2 图片热点控件(ImageMap) 5.19.3 静态标签控件(Lieral) 5.19.4 动态缓存更新控件(Substitution) 5.20 小结 第6章 Web窗体的高级控件 6.1 登录控件 6.1.1 登录控件(Login) 6.1.2 登录名称控件(LoginName) 6.1.3 登录视图控件(LoginView) 6.1.4 登录状态控件(LoginStatus) 6.1.5 密码恢复控件(PasswordRecovery) 6.1.6 密码更改控件(ChangePassword) 6.1.7 生成用户控件(CreateUserWizard) 6.2 网站管理工具 6.2.1 启动管理工具 6.2.2 用户管理 6.2.3 用户角色 6.2.4 访问规则管理 2.6.5 应用程序配置 6.3 使用登录控件 6.3.1 生成用户控件(CreateUserWizard) 6.3.2 密码更改控件(ChangePassword) 6.4 小结 第三篇 数据操作篇 第7章 数据库与ADO.NET基础 7.1 数据库基础 7.1.1 结构化查询语言 7.1.2 表和视图 7.1.3 存储过程和触发器 7.2 使用SQL Server 2005 管理数据库 7.2.1 初步认识SQL Server 2005 7.2.2 创建数据库 7.2.3 删除数据库 7.2.4 备份数据库 7.2.5 还原数据库 7.2.6 创建表 7.2.7 删除表 7.2.8 创建数据库关系图 7.3 ADO.NET连接SQL数据库 7.3.1 ADO.NET基础 7.3.2 连接SQL数据库 7.3.3 ADO.NET过程 7.4 ADO与ADO.NET 7.4.1 ADO概述 7.4.2 ADO.NET与ADO 7.5 ADO.NET 常用对象 7.6 Connection连接对象 7.6.1 连接SQL数据库 7.6.2 连接Access数据库 7.6.3 打开和关闭连接 7.7 DataAdapter适配器对象 7.8 Command执行对象 7.8.1 ExecuteNonQuery方法 7.8.2 ExecuteNonQuery执行存储过程 7.8.3 ExecuteScalar方法 7.9 DataSet数据集对象 7.9.1 DataSet数据集基本对象 7.9.2 DataTable数据表对象 7.9.3 DataRow数据行对象 7.9.4 DataView数据视图对象 7.10 DataReader数据访问对象 7.10.1 DataReader对象概述 7.10.2 DataReader读取数据库 7.10.3 异常处理 7.11 连接池概述 7.12 参数化查询 7.13 小结 第8章 Web窗体的数据控件 8.1 数据源控件 8.1.1 SQL数据源控件(SqlDataSource) 8.1.2 Access数据源控件(AccessDataSource) 8.1.3 目标数据源控件(ObjectDataSource) 8.1.4 LINQ数据源控件(LinqDataSource) 8.1.5 Xml数据源控件(XmlDataSource) 8.1.6 站点导航控件(SiteMapDataSource) 8.2 重复列表控件(Repeater) 8.3 数据列表控件(DataList) 8.4 数据列表控件(GridView) 8.5 数据绑定控件(FormView) 8.6 数据绑定控件(DetailsView) 8.7 数据绑定控件(ListView) 8.8 数据绑定控件(DataPager) 8.9 小结 第9章 ASP.NET操作数据库 9.1 使用ADO.NET操作数据库 9.1.1 使用ExecuteReader()操作数据库 9.1.2 使用ExecuteNonQuery()操作数据库 9.1.3 使用ExecuteScalar()操作数据库 9.1.4 使用ExecuteXmlReader()操作数据库 9.2 ASP.NET创建和插入记录 9.2.1 SQL INSERT数据插入语句 9.2.2 使用Command对象更新记录 9.2.3 使用DataSet数据集插入记录 9.3 ASP.NET更新数据库 9.3.1 SQL UPDATE数据更新语句 9.3.2 使用Command对象更新记录 9.3.3 使用DataSet数据集更新记录 9.4 ASP.NET删除数据 9.4.1 SQL DELETE数据删除语句 9.4.2 使用Command对象删除记录 9.4.3 使用DataSet数据集删除记录 9.5 使用存储过程 9.5.1 存储过程的优点 9.5.2 创建存储过程 9.5.3 调用存储过程 9.6 ASP.NET数据库操作实例 9.6.1 制作用户界面(UI) 9.6.2 使用GridView显示、删除、修改数据 9.6.3 使用DataList显示数据 9.6.4 DataList分页实现 9.6.5 使用SQLHelper操作数据库 9.7 小结 第10章 访问其他数据源 10.1 使用ODBC .NET Data Provider 10.1.1 ODBC .NET Data Provider简介 10.1.2 建立连接 10.2 使用OLE DB.NET Data Provider 10.2.1 OLE DB.NET Data Provider简介 10.2.2 建立连接 10.3 访问MySql 10.3.1 MySql简介 10.3.2 建立连接 10.4 访问Excel 10.4.1 Excel 简介 10.4.2 建立连接 10.5 访问txt 10.5.1 使用ODBE.NET Data Provider连接txt 10.5.2 使用OLE DB .NET Data Provider 连接txt 10.5.3 使用System.IO命名空间 10.6 访问SQLite 10.6.1 SQLite简介 10.6.2 SQLite连接方法 10.7 小结 第四篇 ASP.NET网络编程 第11章 用户控件和自定义控件 11.1 用户控件 11.1.1 什么是用户控件 11.1.2 编写一个简单的控件 11.1.3 将Web窗体转换成用户控件 11.2 自定义控件 11.2.1 实现自定义控件 11.2.2 复合自定义控件 11.3 用户控件和自定义控件的异同 11.4 用户控件示例 11.4.1 ASP.NET登录控件 11.4.2 ASP.NET登录控件的开发 11.4.3 ASP.NET登录控件的使用 11.5 自定义控件实例 11.5.1 ASP.NET分页控件 11.5.2 ASP.NET分页控件的使用 11.6 小结 第12章 ASP.NET的皮肤、主题和母版页 12.1 皮肤和主题 12.1.1 CSS简介 12.1.2 CSS基础 12.1.3 CSS常用属性 12.1.4 将CSS应用在控件上 12.1.5 主题和皮肤 12.1.6 页面主题和全局主题 12.1.7 应用和禁用主题 12.1.8 用编程的方法控制主题 12.2 母版页 12.2.1 母版页基础 12.2.2 内容窗体 12.2.3 母版页的运行方法 12.2.4 嵌套母版页 12.3 Microsoft Expression 2 12.3.1 Microsoft Expression 2简介 12.3.2 安装Microsoft Expression 2 12.4 使用Microsoft Expression Web 2制作页面 12.4.1 创建ASPX页面 12.4.2 创建CSS层叠样式表 12.4.3 创建框架集 12.5 小结 第13章 ASP.NET内置对象,应用程序配置和缓存 13.1 ASP.NET内置对象 13.1.1 Request传递请求对象 13.1.2 Response请求响应对象 13.1.3 Application状态对象 13.1.4 Session状态对象 13.1.5 Server服务对象 13.1.6 Cookie状态对象 13.1.7 Cache缓存对象 13.1.8 Global.asax配置 13.2 ASP.NET应用程序配置 13.2.1 ASP.NET应用程序配置 13.2.2 Web.config配置文件 13.2.3 ASP.NET基本配置节 13.3 ASP.NET缓存功能 13.3.1 缓存概述 13.3.2 页面输出缓存 13.3.3 页面部分缓存 13.3.4 应用程序数据缓存 13.3.5 检索应用程序数据缓存对象 13.4 小结 第14章 ASP.NET XML和Web Service 14.1 XML简介 14.2 读写XML 14.2.1 XML与HTML 14.2.2 创建XML文档 14.2.3 XML控件 14.2.4 XML文件读取类(XmlTextReader) 14.2.5 XML文件编写类(XmlTextWriter) 14.2.6 XML文本文档类(XmlDocument) 14.3 XML串行化 14.3.1 XmlSerializer串行化类 14.3.2 基本串行化 14.4 XML样式表XSL 14.4.1 XSL简介 14.4.2 使用XSLT 14.5 Web服务(Web Service) 14.5.1 什么是Web服务 14.5.2 Web服务体系结构 14.5.3 Web服务协议栈 14.6 简单Web Service示例 14.7 自定义Web Service 14.7.1 创建自定义的Web Service 14.7.2 使用自定义的Web Service 14.8 小结 第五篇 ASP.NET 3.5高级编程 第15章 图形图像编程 15.1 图形图像基础 15.1.1 图像布局 15.1.2 GDI+简介 15.1.3 绘制线条示例 15.1.4 .NET Framework绘图类 15.2 图形编程 15.2.1 Graphics类 15.2.2 绘制基本图形 15.2.3 图形绘制实例 15.3 绘制文字特效 15.3.1 投影特效 15.3.2 倒影特效 15.3.3 旋转特效 15.4 绘制图片 15.4.1 载入图像文件 15.4.2 GDI+输出图像 15.5 图像特效处理 15.5.1 底片效果 15.5.2 浮雕效果 15.6 小结 第16章 ASP.NET 3.5和AJAX 16.1 AJAX基础 16.1.1 什么是AJAX 16.1.2 ASP.NET AJAX入门 16.1.3 ASP.NET 2.0 AJAX 16.1.4 ASP.NET 3.5 AJAX 16.1.5 AJAX简单示例 16.2 ASP.NET 3.5AJAX控件 16.2.1 脚本管理控件(ScriptManger) 16.2.2 脚本管理控件(ScriptMangerProxy) 16.2.3 时间控件(Timer) 16.2.4 更新区域控件(UpdatePanel) 16.2.5 更新进度控件(UpdateProgress) 16.3 AJAX编程 16.3.1 自定义异常处理 16.3.2 使用母版页的UpdatePanel 16.3.3 母版页刷新内容窗体 16.4 小结 第17章 ASP.NET MVC基础 17.1 了解MVC 17.1.1 MVC和Web Form 17.1.2 ASP.NET MVC的运行结构 17.2 ASP.NET MVC基础 17.2.1 安装ASP.NET MVC 17.2.2 新建一个MVC应用程序 17.2.3 ASP.NET MVC应用程序的结构 17.2.4 运行ASP.NET MVC应用程序 17.3 ASP.NET MVC原理 17.3.1 ASP.NET MVC运行流程 17.3.2 ASP.NET MVC工作原理 17.4 ASP.NET MVC开发 17.4.1 创建ASP.NET MVC页面 17.4.2 ASP.NET MVC 数据呈现(ViewData) 17.4.3 ASP.NET MVC 跨页数据呈现(TempData) 17.4.4 ASP.NET MVC页面重定向 17.4.5 ASP.NET MVC URL路由(URLRouting) 17.4.6 ASP.NET MVC控件辅助工具(Helper) 17.4.7 ASP.NET MVC表单传值 17.5 小结 第18章 WCF开发基础 18.1 了解WCF 18.1.1 什么是WCF 18.1.2 为什么需要WCF 18.2 WCF基础 18.2.1 服务 18.2.2 地址 18.2.3 契约 18.3 WCF应用 18.3.1 创建WCF应用 18.3.2 创建WCF方法 18.4 WCF消息传递 18.4.1 消息传递 18.4.2 消息操作 18.5 使用WCF服务 18.5.1 在客户端添加WCF服务 18.5.2 在客户端使用WCF服务 18.6 小结 第19章 WPF开发基础 19.1 了解WPF 19.1.1 什么是WPF 19.2 WPF的应用范围 19.2 WPF和Microsoft Expression 19.2.1 使用Microsoft Expression Blend设计WPF 19.2.2 WPF控件样式 19.2.3 浅谈XAML 19.2.4 WPF控件层次 19.3 WPF应用程序开发 19.3.1 WPF动画事件 19.3.2 WPF时间轴 19.3.3 WPF事件处理 19.4 WPF系统开发 19.4.1 WPF系统需求 19.4.2 WPF界面开发 19.4.3 WPF动画制作 19.4.4 WPF事件编写 19.5 小结 第六篇 ASP.NET 3.5与LINQ 第20章 ASP.NET 3.5与LINQ 20.1 什么是LINQ 20.1.1 LINQ起源 20.1.2 LINQ构架 20.1.3 LINQ与Visual Studio 2008 新特性 20.2 LINQ与Web应用程序 20.2.1 创建使用LINQ的Web应用程序 20.2.2 基本的LINQ数据查询 20.2.3 IEnumerable和IEnumerable接口 20.2.4 IQueryProvider和IQueryable接口 20.2.5 LINQ相关的命名空间 20.3 Lambda表达式 20.3.1 匿名方法 20.3.2 Lambda表达式基础 20.3.3 Lambda表达式格式 20.3.4 Lambda表达式树 20.3.5 访问Lambda表达式树 20.4 小结 第21章 使用LINQ查询 21.1 LINQ查询概述 21.1.1 准备数据源 21.1.2 使用LINQ 21.1.3 执行LINQ查询 21.2 LINQ查询语法概述 21.3 基本子句 21.3.1 from查询子句 21.3.2 where条件子句 21.3.3 select选择子句 21.3.4 group分组子句 21.3.5 orderby排序子句 21.3.6 into连接子句 21.3.7 join连接子句 21.3.8 let临时表达式子句 21.4 LINQ查询操作 21.4.1 LINQ查询概述 21.4.2 投影操作 21.4.3 筛选操作 21.4.4 排序操作 21.4.5 聚合操作 21.5 使用LINQ查询和操作数据库 21.5.1 简单查询 21.5.2 建立连接 21.5.3 插入数据 21.5.4 修改数据 21.5.5 删除数据 21.6 LINQ与MVC 21.6.1 创建ASP.NET MVC应用程序 21.6.2 创建LINQ to SQL 21.6.3 数据查询 21.7 小结 第七篇 ASP.NET 3.5模块开发 第22章 注册模块设计 22.1 学习要点 22.2 系统设计 22.2.1 模块功能描述 22.2.2 模块流程分析 22.3 数据库设计 22.3.1 数据库的分析和设计 22.3.2 数据表的创建 22.4 界面设计 22.4.1 基本界面 22.4.2 创建CSS 22.5 代码实现 22.5.1 验证控制 22.5.2 过滤输入信息 22.5.3 插入注册信息 22.5.4 管理员页面 22.6 实例演示 22.7 小结 第23章 登录模块设计 23.1 学习要点 23.2 系统设计 23.2.1 模块功能描述 22.2.2 模块流程分析 23.3 数据库设计 23.3.1 数据库设计分析 23.3.2 数据库表的创建 23.4 界面设计 23.4.1 基本界面 23.4.2 创建CSS 23.4.3 发送密码页面 23.5 代码实现 23.5.1 登录代码实现 23.5.2 邮件发送页面 23.5.3 根据不同的用户显示不同的内容 23.6 实例演示 23.7 小结 第24章 广告模块设计 24.1 学习要点 24.2 系统设计 24.2.1 模块功能描述 24.2.2 模块流程分析 24.3 数据库设计 24.3.1 数据库设计分析 24.3.2 数据库表的创建 24.4 界面设计 24.4.1 发布广告界面 24.4.2 发布广告页数据源配置 24.4.3 修改广告界面 24.4.4 管理广告界面 24.4.5 分类管理界面 24.5 代码实现 24.5.1 广告添加功能 24.5.2 广告修改功能 24.5.3 自定义控件的实现 24.6 实例演示 24.7 小结 第25章 新闻模块设计 25.1 学习要点 25.2 系统设计 25.2.1 模块功能描述 25.2.2 模块流程分析 25.3 数据库设计 23.3.1 数据库设计 25.3.2 数据表的创建 25.4 界面设计 25.4.1 登录界面 25.4.2 后台框架集 25.4.3 新闻发布页面 25.4.4 新闻修改页面 25.4.5 新闻管理页面 25.4.6 新闻分类管理页面 25.5 代码实现 25.5.1 导航菜单配置 25.5.2 身份验证页面 25.5.3 新闻发布页面 25.5.4 静态生成功能 25.5.5 新闻显示页面 25.5.6 静态模板编写 25.6 实例演示 25.7 小结 第26章 投票模块设计 26.1 学习要点 26.2 系统设计 26.2.1 模块功能描述 26.2.2 模块流程分析 26.3 数据库设计 26.3.1 数据库设计 26.3.2 数据表的创建 26.4 界面设计 26.4.1 后台框架集 26.4.2 投票管理页面 26.4.3 投票发布页面 26.4.4 投票修改页面 26.4.5 投票删除页面 26.5 代码实现 26.5.1 添加投票代码实现 26.5.2 修改投票代码实现 26.5.3 删除投票代码实现 26.5.4 显示投票代码实现 26.5.5 用户投票代码实现 26.6 实例演示 26.7 小结 第27章 聊天模块设计 27.1 学习要点 27.2 系统设计 27.2.1 模块功能描述 27.2.2 模块流程分析 27.3 界面设计 27.3.1 登录界面设计 27.3.2 登录界面CSS 27.3.3 聊天室显示界面 27.3.4 聊天室界面CSS 27.4 代码实现 27.4.1 登录代码实现 27.4.2 多人聊天代码实现 27.4.3 单人聊天代码实现 27.4.4 聊天记录保存实现 27.5 实例演示 27.6 小结 第六篇 ASP.NET 3.5应用实例 第28章 制作一个ASP.NET留言本 28.1 系统设计 28.1.1 需求分析 28.1.2 系统功能设计 28.1.3 模块功能划分 28.2 数据库设计 28.2.1 数据库的分析和设计 28.2.2 数据表的创建 28.2.3 数据表关系图 28.3 系统公用模块的创建 28.3.1 创建CSS 28.3.2 使用SQLHepler 28.3.3 配置Web.config 28.4 系统界面和代码实现 28.4.1 留言板用户控件 28.4.2 管理员登录实现 28.4.3 用户注册登录实现 28.4.4 用户登录实现 28.4.5 留言本界面布局 28.4.6 留言功能实现 28.4.7 回复功能实现 28.4.8 删除功能的实现 28.4.9 用户索引实现 28.5 用户体验优化 28.5.1 AJAX留言实现 28.5.2 AJAX数据重绑定 28.5.3 系统导航实现 28.5.4 侧边栏界面优化 28.6 用户功能实现 28.6.1 用户信息界面 28.6.2 用户信息修改实现 28.6.3 用户信息删除实现 28.6.4 用户注销 28.7 实例演示 28.7.1 准备数据源 28.7.2 基本实例演示 28.7.3 用户功能演示 28.8 小结 第29章 制作一个ASP.NET校友录系统 第29章 制作一个ASP.NET校友录系统 29.1 系统设计 29.1.1 需求分析 29.1.2 系统功能设计 29.1.3 模块功能划分 29.2 数据库设计 29.2.1 数据库分析和设计 29.2.2 数据表的创建 29.3 数据表关系图 29.4 系统公用模块的创建 29.4.1 使用Fckeditor 29.4.2 使用SQLHelper 29.4.3 配置Web.config 29.5 系统界面和代码实现 29.5.1 用户注册实现 29.5.2 用户登录实现 29.5.3 校友录页面规划 29.5.4 自定义控件实现 29.5.5 校友录页面实现 29.5.6 日志发布实现 29.5.7 日志修改实现 29.5.8 管理员日志删除 29.5.9 日志显示页面 29.5.10 用户索引页面 29.5.11 管理员用户删除 29.6 用户体验优化 29.6.1 超链接样式优化 29.6.2 默认首页优化 29.6.3 导航栏编写 29.6.4 AJAX留言优化 29.6.5 优化留言表情 29.7 高级功能实现 29.7.1 后台管理页面实现 29.7.2 日志管理实现 29.7.3 日志修改和删除实现 29.7.4 评论删除实现 29.7.5 板报功能实现 29.7.6 用户修改和删除实现 29.7.7 用户权限管理 29.7.8 权限及注销实现 29.8 实例演示 29.8.1 准备数据源 29.8.2 基本实例演示 29.8.3 管理后台演示 29.9 小结
不定项选择题(共14题,单选或多选): 一、一个HTML文档必须包含三个元素,它们是head、html和( )。 A.scriptB.bodyC.titleD.link 二、下面哪段javascript能弹出一个提示框?( ) A.document.alert(test) B.window.alert(test) C.document.alert('test ') D.window.alert('test ') 三、当鼠标放在一个链接上的css样式应该( )伪类来定义。 A.a:visitedB.a:linkC.a:hoverD.a:active 四、关于ASP.NET中的代码隐藏文件的描述正确的是( )。 A.Web窗体页的程序的逻辑由代码组成,这些代码的创建用于与窗体交互。该文件称作为“代码隐藏”文件,如果用C#创建,该文件将具有“.ascx.cs”扩展名 B.web窗体也是类 C.项目中所有的Web窗体页的代码隐藏文件都被编译成项目动态链接库(.dll)文件 D.以上都不正确 五、下列ASP.NET语句( )正确地创建了一个与SQL Server数据库的连接。 A.SqlConnection con1 = new Connection(“Data Source = localhost; Trusted_Connection =Yes; Initial Catalog = myDB”); B.SqlConnection con1 = new SqlConnection(“Data Source = localhost; Trusted_Connection =Yes; Initial Catalog = myDB”); C.SqlConnection con1 = new OleDbConnection(“Data Source = localhost; Trusted_Connection =Yes; Initial Catalog = myDB”); D.SqlConnection con1 = new SqlConnection(Data Source = localhost; Trusted_Connection =Yes; Initial Catalog = myDB); 六、执行一次无返回值的数据删除,必须用到下面哪些对象? ( ) A.SqlConnectionB.SqlDataAdapterC.SqlCommandD.SqlDataReader 七、在ADO.NET中,对于Command对象的ExecuteNonQuery()方法和ExecuteReader()方法,下面叙述错误的是( ) A.insert、update、delete等操作的Sql语句主要用ExecuteNonQuery()方法来执行; B.ExecuteNonQuery()方法返回执行Sql语句所影响的行数。 C.Select操作的Sql语句只能由ExecuteReader()方法来执行; D.ExecuteReader()方法返回一个DataReder对象; 八、ASP.NET有多种维护状态的技术,以下哪种是保存在客户端的?( ) A.VIEWSTATEB.SESSIONC.APPLICATIOND.数据CACHE 九、Cookies的默认生命周期有多长? ( ) A.20分钟B.30分钟C. 一天D.随浏览器的关闭而失效 十、int[][] myArray=new int[3][]{ new int[3]{ 5, 6, 2 }, new int[5]{ 6, 9, 7, 8, 3 }, new int[2]{ 3, 2 }}; myArray[2][2]的值是( ) A.9B.2C.6D.越界 十一、要为了输出缓存的页面实现即时判断用户IP来路,可在以下哪种事件中实现? ( ) A.Page.InitB.HttpApplication.BeginRequest C.Page.LoadD.以上都不是 十二、下面哪个SQL语句完全正确( ) A.Select count(*) from (select top 10 * from table order by bb) tb group by cc B.update set bb = bb + 1 from table C.Select count(*) from (select distinct * from table) tb group by cc D.delete * from table 十三、为了实现a.aspx的URL重写,下面哪个正则表达式替换可以实现?( ) A. Regex.Replace(sUrl, @“/(\d+).aspx”, “a.aspx?ID=$0”, RegexOptions.IgnoreCase) B. Regex.Replace(sUrl, @“/(\d+).aspx”, “/a.aspx?ID=$0”, RegexOptions.IgnoreCase) C. Regex.Replace(sUrl, @“/(\d+).aspx”, “a.aspx?ID=$1”, RegexOptions.IgnoreCase) D. Regex.Replace(sUrl, @“/(\d+).aspx”, “/a.aspx?ID=$1”, RegexOptions.IgnoreCase) 十四、下面javascript代码的输出结果是( ) var aa = new Array(1, 2, 4, 5, 3, 6); var c = 0; for (var i = 0; i < aa.length; ++i){ c += aa.pop(); } document.write(c); 提示:Array.pop()函数将数组内最后一个元素移除并返回该元素 A.7 B.14 C.21 D.以上皆不正确 填空题(共4题): 一、C#中判断整型变量k是否偶数的语句: 二、有这样的枚举定义:public enum TrainType{ 空调, 快速, 新型, 卧铺 },为实现它的按位组合,你会分别赋予它们什么值?请用逗号按顺序分隔开 三、C#中为了防止非本程序集的代码访问,可以用什么关键字修饰类或者类成员? 四、为了将table表内bb(datetime类型)字段的数据按年月降序输出,对应的SQL语句为 选择题答案: 1.B,2.D,3.C,4.BC,5.B,6.AC,7.C,8.A,9.D,10.D,11.B,12.AC,13.D,14.B 填空题答案: 1.(k & 1) == 0 或 k % 2 == 0 2.1,2,4,8(答案不定,看情况) 3.internal 4.select * from table order by year(bb) desc, month(bb) desc 1.new有几种用法 第一种:new Class(); 第二种:覆盖方法 public new XXXX(){} 第三种:new 约束指定泛型类声明中的任何类型参数都必须有公共的无参数构造函数。 2.如何把一个array复制到arrayList里 foreach( object o in array )arrayList.Add(o); 3.datagrid.datasouse可以连接什么数据源 [dataset,datatable,dataview] dataset,datatable,dataview , IList 4.概述反射和序列化 反射:程序集包含模块,而模块包含类型,类型又包含成员。反射则提供了封装程序集、模块和类型的对象。您可以使用反射动态地创建类型的实例,将类型绑定到现有对象,或从现有对象中获取类型。然后,可以调用类型的方法或访问其字段和属性 序列化:序列化是将对象转换为容易传输的格式的过程。例如,可以序列化一个对象,然后使用 HTTP 通过 Internet 在客户端和服务器之间传输该对象。在另一端,反序列化将从该流重新构造对象。 5.概述o/r mapping 的原理 利用反射,配置 将类于数据库表映射 6.类成员有( )种可访问形式 可访问形式?不懂。 可访问性:public ,protected ,private,internal 7.用sealed修饰的类有什么特点 sealed 修饰符用于防止从所修饰的类派生出其它类。如果一个密封类被指定为其他类的基类,则会发生编译时错误。 密封类不能同时为抽象类。 sealed 修饰符主要用于防止非有意的派生,但是它还能促使某些运行时优化。具体说来,由于密封类永远不会有任何派生类,所以对密封类的实例的虚拟函数成员的调用可以转换为非虚拟调用来处理。 8.列举ADO.NET中的五个主要对象,并简单描述 connection,command,dataReader,trans,dataset ... 9.执行下面代码后: String strTemp ="abcdefg 某某某"; Int i System.Text.Encoding.Default.GetBytes(strTemp).Length; Int j = strTemp.Length; 问:i=(14 ) ;j=(11 ) i=(14 ) ;j=(11 ) 中文两个字节 10.C#中,string str = null 与 string str ="",请尽量用文字说明区别。(要点:说明详细的内存空间分配) string str ="" 分配空间 11.详述.NET里class和struct的异同! class:放在 ? struct放在? struct值传递 类与结构有很多相似之处:结构可以实现接口,并且可以具有与类相同的成员类型。然而,结构在几个重要方面不同于类:结构为值类型而不是引用类型,并且结构不支持继承。结构的值存储在“在堆栈上”或“内联”。细心的程序员有时可以通过聪明地使用结构来增强性能。 12.概述.NET里对 remoting 和 webservice 两项技术的理解和实际中的应用。 远程逻辑调用,remoing接口只能用在.net中 13.什么是code-behind技术 aspx and cs 14.概述三层结构体系 web/business/dataaccess 15.asp.net如何实现MVC模式,举例说明! web/business/dataaccess ---------------------------------------------------------------------------------------------------------- 1.面向对象的思想主要包括什么? 答:这个题范围太广,不知道说什么. 2.什么是ASP.net中的用户控件 答:用户控件就是.ascx扩展名的东西喽,可以拖到不同的页面中调用,以节省代码.比如登陆可能在多个页面上有,就可以成用户控件,但是有一个问题就是用户控件拖到不同级别的目录下后里面的图片等的相对路径会变得不准确,需要自已写方法调整. 3.什么叫应用程序域?什么是受管制的代码?什么是强类型系统?什么是装箱和拆箱?什么是重载?CTS、CLS和CLR分别作何解释? 答:装箱就是把值类型转成引用类型,从MS IL角度看好像是boxing,没记错的话是把值从堆栈转到堆中.拆箱相反,重载就是指一个方法名同,参数个数不同,返回值可以相同的方法.CLR是通用语言运行时,其它的不清楚. 4.列举一下你所了解的XML技术及其应用 答:XML可是好东西,保存配置,站与站之间的交流,WEB SERVICE都要用它. 5.值类型和引用类型的区别?写出C#的样例代码。 答:结构是值类型,类是引用类型,所以传结构就是值类型的应用啦,传对象或类就是引用类型的,这个不用多写了吧. 6.ADO.net中常用的对象有哪些?分别描述一下。 答:connection command sqladapter dataset datatable dataview等等.写不完了. 7.如何理解委托? 答:据说相当于函数指针,定义了委托就可以在不调用原方法名称的情况下调用那个方法. msdn2005中是这样解释的: 委托具有以下特点: 委托类似于 C++ 函数指针,但它是类型安全的。 委托允许将方法作为参数进行传递。 委托可用于定义回调方法。 委托可以链接在一起;例如,可以对一个事件调用多个方法。 方法不需要与委托签名精确匹配。有关更多信息,请参见协变和逆变。 C# 2.0 版引入了匿名方法的概念,此类方法允许将代码块作为参数传递,以代替单独定义的方法。 8.C#中的接口和类有什么异同。 答:这个异同可多了,要说清楚还真不容易. 9.。net中读写数据库需要用到哪些类?他们的作用 答:这个类自已可以写的啊,你是指基类吗?那configuration,sqlconnection,sqlcommand等都要用到. 10.UDP连接和TCP连接的异同。 答:前者只管传,不管数据到不到,无须建立连接.后者保证传输的数据准确,须要连结. 11.ASP.net的身份验证方式有哪些?分别是什么原理? 答:form认证,windows集成认证等,原理不清楚. 12.进程和线程分别怎么理解? 答:进程是老子,线程是儿子,没有老子就没有儿子,一个老子可以有多个儿子.一个儿子可以成为别人的儿子,一个老子也可以为别的老子生儿子. 13.什么是code-Behind技术。 答:代码分离,这是个明智的东西,像ASP这样混成一堆很不爽.或者可以理解成HTML代码写在前台,C#代码写在后台.当然前台也有脚本,类的调用等,其实写在一起也是可以的. 14.活动目录的作用。 答:这个不明白.请明白的补充一下. 15..net中读写XML的类都归属于哪些命名空间? 答:System.Xml 我自已写的就不一定了,嘿嘿. 16.解释一下UDDI、WSDL的意义及其作用。 答:什么东西? 17.什么是SOAP,有哪些应用。 答:SOAP(Simple Object Access Protocol )简单对象访问协议是在分散或分布式的环境中交换信息并执行远程过程调用的协议,是一个基于XML的协议。使用SOAP,不用考虑任何特定的传输协议(最常用的还是HTTP协议),可以允许任何类型的对象或代码,在任何平台上,以任何一直语言相互通信。这种相互通信采用的是XML格式的消息,具体请看:http://playist.blogchina.com/2521621.html 18.如何部署一个ASP.net页面。 答:随便啦,想直接上传就直接上传,想打包成EXE就打包,看个人喜好. 19.如何理解.net中的垃圾回收机制。 答:GC?对象创建了总要清除啊,不然内存哪够用?
Visual.Basic.2010.&.NET4.高级编程(第6版)-文字版.pdf 第I部分 语言结构和环境 第1章 visual studio 2010 3 1.1 visual studio 2010:从express到ultimate的各种版本 4 1.2 visual basic的关键字和语法 7 1.2.1 控制台应用程序 10 1.2.2 从项目模板上创建项目 11 1.2.3 solution explorer窗口 13 1.2.4 项目属性 14 1.2.5 assembly information屏幕 15 1.2.6 编译设置 16 1.2.7 调试属性 20 1.2.8 引用 21 1.2.9 资源 23 1.2.10 设置 24 1.2.11 其他项目属性选项卡 26 1.3 provb_vs2010项目 27 1.3.1 在代码中设置窗体属性 29 1.3.2 visual studio的其他组件 37 1.4 增强示例应用程序的功能 37 1.4.1 定制代码 39 1.4.2 构建应用程序 43 1.4.3 重用第一个windows窗体 50 1.5 visual studio 2010中的特色功能 51 1.5.1 构建配置 51 1.5.2 任务列表 53 1.5.3 command窗口 54 1.5.4 server explorer 54 1.5.5 在visual studio 2010中记录和使用宏 55 1.5.6 类图 57 1.5.7 应用程序生命周期管理 58 1.5.8 性能工具 60 1.6 小结 62 第2章 对象和visual basic 63 2.1 面向对象的术语 64 2.1.1 对象、类和实例 64 2.1.2 对象的组成 65 2.1.3 system.object 68 2.2 使用visual basic类型 68 2.2.1 值类型和引用类型 69 2.2.2 基本类型 71 2.3 命令:条件语句 72 2.3.1 if then 73 2.3.2 比较运算符 73 2.3.3 select case 75 2.4 值类型(结构) 75 2.4.1 布尔类型 76 2.4.2 整数类型 77 2.4.3 无符号类型 78 2.4.4 小数类型 78 2.4.5 char和byte类型 81 2.4.6 datetime类型 81 2.5 引用类型(类) 82 2.5.1 object类 82 2.5.2 string类 83 2.5.3 xml字面量 87 2.5.4 dbnull类和isdbnull()函数 89 2.6 参数传递 89 2.7 变量的作用域 91 2.8 使用对象 92 2.8.1 对象的声明和实例化 92 2.8.2 对象引用 93 2.8.3 取消对象的引用 93 2.8.4 前期绑定与后期绑定 94 2.9 数据类型转换 95 2.10 创建类 100 2.10.1 类 100 2.10.2 事件的处理 110 2.10.3 处理多个事件 111 2.10.4 withevents关键字 111 2.10.5 触发事件 111 2.10.6 声明和触发定制事件 112 2.10.7 用withevents关键字接收事件 113 2.10.8 用addhandler接收事件 115 2.10.9 构造函数方法 116 2.10.10 终止和清除 117 2.11 高级概念 118 2.11.1 重载方法 119 2.11.2 重载构造函数方法 121 2.11.3 共享方法、变量和事件 122 2.11.4 运算符重载 127 2.11.5 委托 129 2.11.6 类和组件 133 2.11.7 lambda表达式 134 2.12 小结 135 第3章 定制对象 137 3.1 继承 138 3.1.1 继承的实现 139 3.1.2 继承的层次 157 3.1.3 与基类、类及对象交互 159 3.1.4 构造函数 164 3.1.5 protected作用域 169 3.1.6 事件与继承 171 3.1.7 共享方法 174 3.1.8 共享事件 176 3.1.9 创建抽象基类 176 3.2 多接口 178 3.2.1 对象接口 178 3.2.2 辅助接口 180 3.3 抽象性 185 3.4 封装性 188 3.5 多态性 190 3.5.1 方法签名 190 3.5.2 实现多态性 191 3.6 进一步讨论继承 200 3.7 小结 211 第4章 公共语言运行库 213 4.1 .net应用程序的组成元素 214 4.1.1 模块 214 4.1.2 程序集 215 4.1.3 类型 215 4.2 版本化与部署 216 4.2.1 对版本化更好的支持 216 4.2.2 major.minor.build.revision版本介绍 217 4.2.3 更好的部署 217 4.3 跨语言集成 218 4.3.1 通用类型系统 218 4.3.2 元数据 219 4.3.3 对元数据更好的支持 219 4.3.4 属性 220 4.3.5 reflection api 222 4.4 il反汇编程序 222 4.5 内存管理 223 4.5.1 传统的垃圾回收机制 223 4.5.2 更快地为对象分配内存 230 4.5.3 垃圾回收器的优化 231 4.6 名称空间 232 4.6.1 名称空间的概念 233 4.6.2 名称空间与引用 236 4.6.3 常用的名称空间 237 4.6.4 导入名称空间并指定别名 239 4.6.5 为名称空间指定别名 240 4.6.6 在asp.net中引用名称空间 241 4.7 创建自己的名称空间 241 4.8 my关键字 244 4.8.1 my.application名称空间 244 4.8.2 my.computer名称空间 248 4.8.3 my.forms名称空间 251 4.8.4 my.resources名称空间 251 4.8.5 my.user名称空间 251 4.8.6 my.webservices名称空间 251 4.9 扩展my名称空间 252 4.10 小结 254 第5章 用visual basic进行声明式编程 255 5.1 声明式编程与visual basic 256 5.2 使用xaml创建窗口 257 5.3 xaml语法 260 5.3.1 xaml语言基础 261 5.3.2 使用xaml声明工作流 264 5.4 小结 265 第6章 异常处理和调试 267 6.1 visual studio 2010 team system的新增内容:历史调试 267 6.2 与visual basic 6兼容的注意事项 268 6.3 .net中的异常处理 268 6.4 结构化异常处理的关键字 269 6.4.1 try、catch和finally关键字 270 6.4.2 throw关键字 271 6.4.3 抛出新的异常 272 6.4.4 exit try语句 273 6.4.5 嵌套的try结构 274 6.4.6 异常属性的使用 275 6.4.7 message属性 276 6.4.8 innerexception和targetsite属性 276 6.5 与visual basic 6样式的错误处理交互操作 280 6.6 记录错误 281 6.6.1 事件日志 281 6.6.2 事件、方法和属性 282 6.6.3 写入跟踪文件 284 6.7 小结 286 第7章 测试驱动的开发 287 7.1 测试的内容和方式 288 7.2 visual studio中的tdd工具 290 7.3 单元测试过程 291 7.3.1 创建测试程序 291 7.3.2 运行测试程序 294 7.3.3 测试数据访问代码 295 7.3.4 使用generate from usage特性 302 7.4 其他visual studio版本 306 7.5 第三方测试框架 306 7.6 小结 307 第ii部分 业务对象和数据访问第8章 数组、集合和泛型 311 8.1 数组 312 8.1.1 多维数组 313 8.1.2 ubound函数 314 8.1.3 redim语句 314 8.1.4 preserve关键字 315 8.2 集合 315 8.2.1 循环语句 317 8.2.2 装箱 319 8.3 泛型 320 8.3.1 泛型的使用 321 8.3.2 nullable类型 322 8.3.3 泛型类型 323 8.3.4 泛型方法 326 8.4 创建泛型 327 8.4.1 泛型类型 328 8.4.2 泛型方法 334 8.4.3 约束 335 8.4.4 泛型和后期绑定 338 8.4.5 协变和逆变 339 8.5 小结 340 第9章 在vb中使用xml 341 9.1 xml简介 342 9.2 xml序列化 343 9.3 system.xml文档支持 348 9.4 xml流样式分析程序 348 9.4.1 写入xml流 349 9.4.2 读取xml流 352 9.4.3 文档对象模型(dom) 360 9.5 xslt转换 364 9.5.1 使用xslt转换不同的xml标准 367 9.5.2 system.xml.xsl中定义的其他类和接口 370 9.6 asp.net中的xml 370 9.6.1 xmldatasource服务器控件 370 9.6.2 xmldatasource控件的名称空间问题 374 9.6.3 xml服务器控件 375 9.7 linq to xml 376 9.8 linq to xml帮助对象 376 9.8.1 xdocument对象 377 9.8.2 xelement对象 377 9.8.3 xnamespace对象 378 9.8.4 xattribute对象 380 9.9 visual basic和xml字面量 381 9.10 使用linq查询xml文档 382 9.10.1 查询静态的xml文档 382 9.10.2 查询动态的xml文档 384 9.11 处理xml文档 385 9.11.1 读取xml文档 385 9.11.2 写入xml文档 386 9.12 vb中的lambda表达式 387 9.13 小结 389 第10章 ado.net和linq 391 10.1 ado.net的体系结构 392 10.2 ado.net的基本功能 393 10.2.1 ado.net的常见任务 393 10.2.2 ado.net的基本名称空间和类 398 10.2.3 ado.net组件 399 10.3 .net数据提供程序 400 10.3.1 connection对象 400 10.3.2 command对象 401 10.3.3 通过command对象使用存储过程 402 10.3.4 datareader对象 405 10.3.5 命令的异步执行 407 10.3.6 dataadapter对象 409 10.3.7 sql server .net数据提供程序 413 10.3.8 ole db .net数据提供程序 413 10.4 dataset组件 413 10.4.1 datatablecollection对象 414 10.4.2 datarelationcollection对象 414 10.4.3 extendedproperties属性 414 10.4.4 创建和使用dataset对象 415 10.4.5 ado.net的datatable对象 417 10.4.6 dataset和datatable对象的高级ado.net特性 418 10.5 使用通用提供程序模型 420 10.6 ado.net中的连接池 422 10.7 transactions类和system.transactions名称空间 423 10.7.1 创建事务 423 10.7.2 创建资源管理器 425 10.8 linq to sql 425 10.9 linq to sql和visual basic 426 10.9.1 用linq to sql提取数据:创建控制台应用程序 426 10.9.2 o/r设计器 427 10.9.3 创建product对象 428 10.10 对象到linq对象的映射 429 10.10.1 datacontext对象 430 10.10.2 table(tentity)对象 432 10.11 查询数据库 433 10.11.1 使用查询表达式 433 10.11.2 查询表达式详述 433 10.11.3 用表达式过滤 434 10.11.4 联接 434 10.11.5 数据项的组合 435 10.12 存储过程 437 10.13 更新数据库 438 10.14 小结 440 第11章 使用entity framework访问数据 441 11.1 对象关系映射 441 11.2 entity framework体系结构 442 11.2.1 概念模型 443 11.2.2 存储模型 446 11.2.3 映射模型 447 11.2.4 linq to entities 448 11.2.5 objectcontext 449 11.3 把对象映射到实体上 451 11.3.1 简单映射 451 11.3.2 对多个对象使用一个表 453 11.3.3 对一个对象使用多个表 455 11.4 从模型中生成数据库 457 11.5 小结 460 第12章 使用sql server 461 12.1 sql server compact 462 12.1.1 连接sql server compactedition数据库 463 12.1.2 同步数据 466 12.2 sql server内置的xml功能 472 12.3 sql server中的clr集成 474 12.3.1 决定使用t-sql还是vb 475 12.3.2 创建用户定义的类型 475 12.3.3 创建存储过程 487 12.3.4 在sql server中使用web服务 493 12.3.5 sql server 2008特性 498 12.4 wcf数据服务 499 12.4.1 rest 499 12.4.2 atom和json 499 12.4.3 使用wcf数据服务提供数据 500 12.4.4 wcf数据服务的客户端库 504 12.5 小结 508 第13章 服务(xml/wcf) 509 13.1 服务 510 13.1.1 网络角度 510 13.1.2 应用程序的发展 510 13.1.3 合并网络和应用程序开发 510 13.1.4 web服务基础 511 13.1.5 存在的问题 512 13.1.6 其他技术 512 13.1.7 web服务 513 13.1.8 组合起来 514 13.1.9 wcf服务的构成 514 13.2 向soa迈出一大步 515 13.2.1 wcf的功能 516 13.2.2 协定和元数据 516 13.2.3 使用ws-*协议 517 13.3 建立wcf服务 518 13.4 建立wcf使用者应用程序 524 13.4.1 添加服务引用 525 13.4.2 查看引用 526 13.4.3 配置文件的修改 529 13.4.4 编写使用者应用程序的代码 531 13.5 使用数据协定 533 13.6 名称空间 535 13.6.1 建立主机应用程序 535 13.6.2 建立使用者应用程序 536 13.6.3 查看hellocustomerservice的wsdl和架构 538 13.7 小结 540 第iii部分 智能客户端应用程序第14章 windows窗体 543 14.1 system.windows.forms名称空间 543 14.2 窗体的使用 544 14.2.1 设置启动窗体 544 14.2.2 通过sub main显示窗体 545 14.2.3 application类的更多内容 545 14.2.4 窗体的启动位置 545 14.2.5 窗体边框 545 14.2.6 始终置顶——topmost属性 546 14.2.7 附属窗体 546 14.2.8 改变窗体的透明度 547 14.2.9 可视化继承 549 14.2.10 滚动窗体 549 14.2.11 mdi窗体 549 14.2.12 vb 2010中的mdi样例 550 14.2.13 对话框窗体 551 14.2.14 运行时的窗体 553 14.2.15 默认的窗体实例 554 14.3 控件 554 14.3.1 以tab键切换控件的顺序 554 14.3.2 所有控件的属性 555 14.3.3 动态调整控件的大小和布局 555 14.3.4 flowlayoutpanel控件 557 14.3.5 tablelayoutpanel控件 558 14.3.6 panel和groupbox容器控件 559 14.3.7 扩展的provider控件 560 14.3.8 数据输入的高级功能 562 14.3.9 验证数据输入 564 14.3.10 工具栏与toolstrip控件 565 14.3.11 菜单 568 14.3.12 通用对话框 569 14.3.13 拖放操作 571 14.3.14 标准windows窗体控件小结 573 14.3.15 处理相关控件组 575 14.3.16 在运行时添加控件 576 14.4 其他编程技巧 577 14.5 小结 577 第15章 windows窗体的高级功能 579 15.1 在可视化控件中封装逻辑 579 15.2 在windows窗体中开发自定义的控件 580 15.2.1 继承现有的控件 580 15.2.2 构建复合控件 580 15.2.3 从头编写控件 581 15.3 继承现有的控件 581 15.3.1 基本步骤 581 15.3.2 给派生的控件添加代码 581 15.3.3 其他有用的特性 584 15.3.4 为派生的控件自定义事件 585 15.3.5 限制选中项数的checkedlistbox 586 15.4 control与usercontrol基类 589 15.4.1 control类 589 15.4.2 usercontrol类 589 15.5 复合控件 590 15.5.1 创建复合的user-control 591 15.5.2 改变控件的大小 591 15.5.3 提供子控件的属性 592 15.5.4 一个具体的例子 592 15.6 从头构建控件 595 15.7 给工具箱中的控件添加图标 600 15.8 在控件中嵌入其他控件 601 15.9 小结 602 第16章 集成wpf和windows 窗体的用户控件 605 16.1 集成库 606 16.2 在windows窗体中包含wpf控件 607 16.2.1 创建wpf控件库 608 16.2.2 windows窗体应用程序 610 16.3 在wpf中包含windows 窗体控件 616 16.4 集成的限制 621 16.5 小结 622 第17章 wpf桌面应用程序 623 17.1 内容、位置、原因、方式——wpf策略 624 17.2 光栅图形和矢量图形 625 17.3 下一个windows项目应使用wpf吗 625 17.4 创建wpf应用程序 626 17.4.1 实现定制的wpf应用程序 627 17.4.2 定制用户界面 639 17.4.3 定制按钮 647 17.4.4 wpf用户控件 651 17.5 小结 672 第18章 expression blend 3 675 18.1 了解blend 676 18.2 sketchflow 682 18.2.1 第一个sketchflow 682 18.2.2 sketchflow player 685 18.2.3 归档sketchflow 686 18.3 小结 686 第19章 silverlight 687 19.1 什么是silverlight 687 19.1.1 smooth streaming特性 688 19.1.2 业界标准视频 688 19.1.3 数字版权管理 688 19.2 启动silverlight项目 688 19.2.1 silverlight应用程序 689 19.2.2 silverlight导航应用程序 689 19.2.3 silverlight类库 690 19.3 silverlight解决方案 691 19.3.1 web应用程序 691 19.3.2 应用程序库缓存 691 19.3.3 silverlight应用程序 692 19.4 控件 695 19.5 给silverlight项目添加项 702 19.5.1 silverlight用户控件 703 19.5.2 silverlight应用程序类 703 19.5.3 silverlight页面 703 19.5.4 silverlight子窗口 703 19.5.5 silverlight模板控件 703 19.5.6 silverlight资源字典 704 19.6 浏览器之外的silverlight 704 19.7 小结 705 第iv部分 internet应用程序技术 第20章 silverlight和服务 709 20.1 服务和silverlight 709 20.1.1 asmx web服务 709 20.1.2 wcf服务 712 20.1.3 ado.net数据服务 716 20.2 model-view-viewmodel 725 20.2.1 分割 725 20.2.2 model 725 20.2.3 view 728 20.2.4 viewmodel 729 20.3 小结 729 第21章 使用asp.net 731 21.1 asp.net的历史 731 21.2 asp.net的重要特性 732 21.2.1 开发效率 732 21.2.2 性能和可伸缩性 732 21.2.3 本地化 732 21.2.4 健康监控 733 21.2.5 易于访问数据 733 21.2.6 管理和维护 733 21.3 visual studio对asp.net 的支持 733 21.3.1 web site和web application项目 733 21.3.2 asp.net应用程序文件夹 734 21.3.3 web服务器选项 735 21.4 用web窗体构建asp.net应用程序 735 21.5 数据驱动的应用程序 746 21.5.1 使用sqldatasource控件绑定数据 746 21.5.2 使用linqdatasource控件绑定数据 754 21.5.3 使用objectdastasource控件绑定数据 757 21.6 小结 759 第22章 asp.net的高级功能 761 22.1 母版页 761 22.1.1 创建母版页 762 22.1.2 创建内容页 765 22.1.3 为母版页提供默认内容 767 22.2 导航 767 22.2.1 使用sitemappath服务器控件 769 22.2.2 menu服务器控件 770 22.3 使用asp.net的提供程序模型 771 22.4 成员和角色管理 776 22.5 配置文件属性 781 22.6 microsoft ajax(asp.net ajax) 783 22.6.1 理解对ajax的需求 783 22.6.2 microsoft ajax 的实现 784 22.6.3 updatepanel控件和客户端服务调用 785 22.6.4 示例项目 785 22.6.5 添加updatepanel控件 789 22.6.6 使用客户端服务调用和客户端模板 790 22.7 小结 795 第23章 asp.net mvc 797 23.1 mvc和asp.net 798 23.2 构建asp.net mvc应用程序 798 23.2.1 创建项目 798 23.2.2 控制器和操作 800 23.2.3 添加模型 802 23.2.4 视图 804 23.2.5 路由 807 23.2.6 搭框架和crud操作 808 23.2.7 验证 815 23.3 小结 817 第24章 sharepoint 2010开发 819 24.1 简介 819 24.1.1 sharepoint foundation 2010 820 24.1.2 sharepoint server 2010 820 24.1.3 sharepoint的术语 820 24.1.4 sharepoint开发环境 821 24.2 feature和solution framework 821 24.2.1 feature 821 24.2.2 solution framework 829 24.3 用于sharepoint开发的visual studio工具 833 24.4 sharepoint 2010对象模型 839 24.4.1 服务器对象模型 840 24.4.2 客户端对象模型 843 24.5 构建web 部件 845 24.6 小结 851 第v部分 库和专业主题技术 第25章 visual studio tools foroffice 855 25.1 vsto的各个版本 856 25.1.1 office的自动化功能和vsto 856 25.1.2 免pia部署 856 25.1.3 vsto项目类型 857 25.2 office业务应用程序的体系结构 858 25.3 使用vba和vsto 859 25.4 创建文档模板(word) 864 25.4.1 给文档添加内容 866 25.4.2 添加ribbon和操作窗格 867 25.4.3 激活操作窗格 870 25.4.4 更新内容控件 872 25.5 创建office插件(excel) 875 25.6 outlook form regions 881 25.7 小结 889 第26章 windows workflow foundation 891 26.1 应用程序中的工作流 891 26.2 建立工作流 892 26.2.1 用windows workflowfoundation添加工作流 892 26.2.2 一个简单的工作流 894 26.2.3 标准活动 897 26.2.4 一个不太简单的工作流 899 26.2.5 建立定制活动 907 26.2.6 动态加载工作流 911 26.3 重新构建工作流设计器 912 26.4 小结 915 第27章 本地化 917 27.1 文化和区域 917 27.1.1 理解文化类型 918 27.1.2 线程 919 27.1.3 在asp.net中声明全局文化 921 27.1.4 在asp.net中使用文化设置 922 27.2 转换数值和操作 923 27.2.1 理解日期之间的区别 923 27.2.2 理解数字和货币的区别 925 27.2.3 理解排序字符串的区别 927 27.3 asp.net资源文件 929 27.3.1 使用本地资源 929 27.3.2 全局资源 933 27.4 windows窗体中的资源文件 935 27.5 小结 938 第28章 与com的交互操作 939 28.1 理解com 940 28.2 com和.net的交互 940 28.2.1 传统的组件 941 28.2.2 .net应用程序 942 28.2.3 调试 945 28.2.4 直接使用tlbimp 945 28.2.5 后期绑定 946 28.3 activex控件 950 28.3.1 传统的activex控件 950 28.3.2 另一个.net应用程序 952 28.3.3 再次调试 954 28.4 在com应用程序中使用.net组件 954 28.4.1 .net组件 954 28.4.2 regasm 956 28.4.3 tlbexp 957 28.5 p/invoke 957 28.6 小结 957 第29章 网络编程 959 29.1 协议、地址和端口 959 29.1.1 地址与计算机名 961 29.1.2 端口:指定应用程序 961 29.1.3 防火墙:不离不弃 962 29.2 system.net名称空间 963 29.2.1 web请求与响应 963 29.2.2 使用webclient简化常用的web请求 969 29.3 套接字 970 29.3.1 构建应用程序 971 29.3.2 创建conversation窗口 973 29.3.3 发送消息 980 29.3.4 关闭应用程序 984 29.4 在应用程序中使用internetexplorer 988 29.5 小结 991 第30章 应用程序服务 993 30.1 给应用程序服务使用iis 993 30.2 windows服务 993 30.3 windows服务的特性 994 30.4 与windows服务交互 995 30.5 创建windows服务 996 30.5.1 用于windows服务的.net framework类 996 30.5.2 其他类型的windows服务 998 30.6 在vb中创建windows服务 998 30.7 创建文件监视器服务 1000 30.7.1 创建windows服务的解决方案 1000 30.7.2 给服务添加.net组件 1000 30.7.3 安装服务 1003 30.7.4 启动服务 1004 30.7.5 卸载服务 1005 30.8 与服务通信 1005 30.8.1 servicecontroller类 1006 30.8.2 把servicecontroller集成到例子中 1007 30.8.3 servicecontroller的更多内容 1008 30.9 定制命令 1008 30.10 给服务传递字符串 1010 30.11 调试服务 1010 30.12 小结 1012 第31章 程序集和反射 1013 31.1 程序集 1013 31.2 清单 1014 31.2.1 程序集标识部分 1016 31.2.2 引用的程序集 1018 31.3 程序集与部署 1018 31.3.1 应用程序私有的程序集 1018 31.3.2 共享程序集 1019 31.4 版本化问题 1020 31.4.1 应用程序隔离 1020 31.4.2 并行执行 1020 31.4.3 自描述 1021 31.4.4 版本策略 1021 31.4.5 配置文件 1022 31.5 反射基础 1025 31.5.1 assembly类 1026 31.5.2 获得当前加载的程序集 1026 31.5.3 type类 1027 31.6 程序集的动态加载 1028 31.6.1 assembly类的loadfrom方法 1028 31.6.2 动态加载示例 1029 31.6.3 传入程序集 1030 31.7 小结 1031 第32章 .net framework中的安全性 1033 32.1 安全的概念与定义 1034 32.2 system.security.permissions名称空间中的权限 1035 32.2.1 代码访问权限 1037 32.2.2 身份权限 1038 32.2.3 基于角色的权限 1038 32.3 管理代码访问权限集合 1041 32.4 用户访问控制 1043 32.5 定义应用程序的uac设置 1043 32.5.1 安全性工具 1045 32.5.2 使用securityexception类处理异常 1046 32.6 加密基础 1047 32.7 小结 1060 第33章 使用任务和线程进行并行编程 1061 33.1 启动并行任务 1061 33.1.1 system.threading.tasks.parallel类 1062 33.1.2 parallel.invoke 1062 33.2 把串行代码转换为并行代码 1066 33.2.1 检测热点 1067 33.2.2 测试并行执行获得的速度提升 1069 33.2.3 理解并行和并发执行 1070 33.3 并行循环 1071 33.3.1 parallel.for 1071 33.3.2 parallel.foreach 1076 33.3.3 退出并行循环 1081 33.4 指定希望的并行度 1086 33.4.1 paralleloptions 1086 33.4.2 理解硬件线程和逻辑核心 1087 33.5 创建和管理任务 1088 33.5.1 system.threading.tasks.task 1089 33.5.2 理解任务的生命周期 1090 33.5.3 使用任务并行化代码 1091 33.5.4 从任务中返回值 1099 33.5.5 为并发和并行准备代码 1102 33.5.6 理解并发集合特性 1103 33.5.7 把linq转换为plinq 1106 33.6 小结 1108 第34章 部署 1109 34.1 应用程序部署 1110 34.1.1 .net中的部署很简单 1110 34.1.2 xcopy部署 1110 34.1.3 使用windows installer 1110 34.1.4 clickonce部署 1111 34.2 选择framework版本 1111 34.3 visual studio部署项目 1112 34.3.1 项目模板 1112 34.3.2 创建部署项目 1113 34.4 修改部署项目 1117 34.4.1 项目属性 1117 34.4.2 file system编辑器 1119 34.4.3 registry编辑器 1122 34.4.4 file types编辑器 1124 34.4.5 user interface编辑器 1125 34.4.6 custom actions编辑器 1127 34.4.7 launch conditions编辑器 1129 34.4.8 构建 1132 34.5 windows应用程序的internet部署 1132 34.5.1 “无接触”部署 1132 34.5.2 clickonce部署 1133 34.6 iis web部署工具 1140 34.7 小结 1142 第vi部分 附 录 附录 a vb编译器 1145 附录 b visual basic powerpacks tools 1161 附录 c workflow 2008 1173 附录 d 企业服务 1193 附录 e 云的编程 1215

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧