1.创建XMLHttpRequest组建
2.设置回调函数
3.初始化XMLHttpRequest组建
4.发送请求
实例代码:
11
}
最近做网站需要往mysql里面插入数据,但vs2008自带的linq也不支持mysql.
在网上找了些资料,终于找到了个支持mysql的linq工具,就是DBLinq.把方法帖上来以便以后使用.
一、工具:
Dblinq ;
MySQL 5.0以上,编程主机需要安装;
VS2008
二、生成DataContext cs文件
DbMetal.exe -provider=MySql -database:MyDatebase -server:you host computer -user:mysql user -password:you pwd -namespace:mysqllinq -code:mysqllinq.cs -sprocs
//注,名称空间是mysqllinq,-sprocs一定要
三、将文件DataContext cs放到项目文件中
注意:cs文件放在项目的首层,比如App_Code中,或者内库中
using DbLinq.Linq;
using DbLinq.Linq.Mapping;
(如果不是放在App_Code中,在此添加引用)
四、在VS 2008中新建类项目DALMySQL,并添加引用
DbLinq.dll;
DbLinq.MySql.dll;
MySql.Data.dll;
//上面三个在DbLinq-0.18"build中可以找到。
System.Data.Linq.dll;
//在C:"Program Files"Reference Assemblies"Microsoft"Framework"v3.5"System.Data.Linq.dll
//这是一要引用!!!
五、添加Web_App项目,添加对项目DALMySQL的引用
六、在aspx.cs页面中添加引用:
using MySql.Data;
using MySql.Data.MySqlClient;
using mysqllinq;//DataContext cs文件的名字空间
//省略
string connStr = @"server=localhost;database=test;user=root;pwd=ikmb;port=3306";
MySqlConnection conn = new MySqlConnection(connStr);
Test t = new Test(conn);
var data = from f in t.Users select f;
GridView1.DataSource = data;
GridView1.DataBind();
最后给个DbLinq下载
========================注意点的分割线==========================
*以上文章提供下载的是DbLinq-0.18, 我个人用的是DbLinq-0.20.1 ,Download DbLinq. (注:如果是DbLinq-0.20.1,要在解压后将MySql.Data.dll 拷贝至文件夹内,再运行生成命令)
静态menu 前台code:
</ul>
动态menu 前台code
</ asp:Repeater>
动态menu 后台code
}
OK,这篇随笔就讲一下RDLC报表中子报表SubReport的实现步骤。
首先来看一下,本文的示例的运行结果。

图1 主子报表示例运行结果
主子报表的数据源显然也应该是两个具有主子关系的数据表,本文示例依然使用Northwind数据库的订单和订单明细表作为数据源。
1、在Visual Studio 2005中创建一个Windows应用程序RDLCSR。
2、在项目中添加数据源,数据源并不一定用来为报表提供数据(当然Visual Studio 2005提供的操作非常方便),主要是在报表设计时可以方便向报表中进行字段拖曳。添加数据源意味着在项目中添加了一个数据集Orders.xsd文件,当报表的数据不是来源于关系型数据库(如Flat Files或Web Services等)时,我们可以自己定义一个xsd文件作为报表设计时的数据源,而在程序中重新为报表载入数据。
3、在项目中添加报表rptOrder.rdlc和rptOrderDetail.rdlc分别作为示例的主报表和子报表。
4、为子报表rptOrderDetail.rdlc添加参数pOrderId,指定其数据类型为Integer,然后如图2进行子报表的布局设计。

图2 子报表rptOrderDetail.rdlc布局设计
5、为主报表rptOrder.rdlc进行如图3所示的布局设计。

图3 主报表rptOrder.rdlc布局设计
6、在主报表rptOrder.rdlc的子报表控件上单击右键,使用“属性”菜单调出“子报表属性”对话框。在“常规”选项卡中的子报表下拉列表中选择rptOrderDetail;切换到“参数”选项卡,在“参数名称”列中,系统会自动检测到步骤4中定义的子报表的参数pOrderId,并在“参数值”列中指定参数值为=Fields!订单ID.Value。
7、在子报表rptOrderDetail.rdlc中选择表格控件,使用右键菜单“属性”调出“表属性”对话框,在“筛选器”选项卡中进行入图4的设置。这主要是为了在订单明细中筛选当前订单的明细数据,当然这一步骤可以在程序中用代码指定。

图4 在子报表rptOrderDetail.rdlc中指定筛选器
好了,至此报表布局的设置已经完成了,下面需要在应用程序中显示报表并给主子报表分别提供数据。
8、在窗体frmMain中添加ReportViewer控件rptMain,并在rptMain的“ReportViewer任务”中选择报表rptOrder.rdlc。
9、在窗体frmMain中添加图5所示的代码:

图5 窗体frmMain的代码
可见,必须对ReportViewer控件的LocalReport对象添加SubReportProcessing事件,而该事件主要也就是为了子报表提供数据。
现在就可以运行应用程序查看结果了,如图6所示。

图6 示例运行结果(未给列表指定分组)
在图6中,我们看到出现两个订单显示在同一页面,而在实际应用中,我们可能希望,每个页面
上只显示一条订单。此时,可以进行以下的设置:
10、在主报表rptOrder.rdlc中,选择列表控件,右键“属性”弹出“列表属性”对话框,在“常规”选项卡中,单击按钮“编辑详细信息组”弹出“分组和排序属性对话框”并进行如图7所示的设置。

图7 为列表指定分组并设置分页显示选项
事实上,主子报表和钻取报表有着相似的地方,所以如果看了这篇随笔有什么不明白的地方,可以参看一下我的另一篇随笔RDLC Report Step by Step 1: DrillThrough Report。
![]()