1、Flex 集成 ASP.Net 实现对数据库的操作(1 简单数据)首先安装 FluorineFx,开源项目 FluorineFx 就是专门针对.NET 平台与 Flex 通信提供的 AMF 协议通信网关,我们可以通过 FluorineFx 很方便的完成与.NET 的通信。FluorineFx 官方提供了安装包的下载和在线文档,可以帮助我们有效的利用 FluorineFx 来开发。 FluroineFx 官方网站: http:/ FluroineFx 下载地址: http:/ FluroineFx 在线文档: http:/ Microsoft Visual Studio 2005(2008 也可
2、),选择文件- 新建-网站,如下图,选择 FluorineFx ASP.NET Web Site,确定后,结构如下图接着选择文件-新建- 项目,在模板种选择 FluorineFx ServiceLibrary,如下图点击确定,画面如下然后在表示层添加对 ServiceLibrary 的引用接下来在 ServiceLibrary 下添加 Book 类,BookService 类, BookFluorine 类,数据库结构如图Book 实体类如下图接着在 BookService类里写增删改查方法,代码如下using System;using System.Collections.Generic;u
3、sing System.Text;using System.Data;using System.Data.SqlClient;using System.Configuration;namespace ServiceLibrarypublic class BookServiceprivate static SqlConnection connection;public static SqlConnection Connectiongetstring connectionString = “Data Source=localhost;Initial Catalog=Book;User ID=sa;
4、password=sqlserver“;if (connection = null)connection = new SqlConnection(connectionString);connection.Open();else if (connection.State = ConnectionState.Closed)connection.Open();else if (connection.State = ConnectionState.Broken)connection.Close();connection.Open();return connection;public static Li
5、st SelectAllBooks()string sql = “select * from Book“;List list = new List();tryDataTable table = GetDataTable(sql);foreach (DataRow row in table.Rows)Book book = new Book();book.Id = (int)row“id“;book.Name = (string)row“name“;book.Author = (string)row“author“;book.Price = (decimal)row“price“;list.Ad
6、d(book);return list;catch (Exception e)return null;public static int AddBook(string name, string author, decimal price)string sql = “insert Book(name,author,price) values(name,author,price)“;trySqlParameter paras = new SqlParameternew SqlParameter(“name“,name),new SqlParameter(“author“,author),new S
7、qlParameter(“price“,price);return GetScalar(sql, paras);catch (Exception e)return 0;public static void DeleteBookById(int id)string sql = “delete Book where id=id“;tryExecuteCommand(sql, new SqlParameter(“id“, id);catch (Exception e)return;public static void UpdateBook(int id,string name, string aut
8、hor, decimal price)string sql = “update Book set name=name,author=author,price=price where id=id“;trySqlParameter paras = new SqlParameternew SqlParameter(“name“,name),new SqlParameter(“author“,author),new SqlParameter(“price“,price),new SqlParameter(“id“,id);ExecuteCommand(sql, paras);catch (Except
9、ion e)return;public static DataTable GetDataTable(string safeSql)DataSet ds = new DataSet();SqlCommand cmd = new SqlCommand(safeSql, Connection);SqlDataAdapter da = new SqlDataAdapter(cmd);da.Fill(ds);return ds.Tables0;public static int GetScalar(string sql, SqlParameter values)SqlCommand cmd = new
10、SqlCommand(sql, Connection);cmd.Parameters.AddRange(values);return (int)cmd.ExecuteScalar();public static int ExecuteCommand(string sql, SqlParameter value)SqlCommand cmd = new SqlCommand(sql, Connection);cmd.Parameters.Add(value);return cmd.ExecuteNonQuery();public static int ExecuteCommand(string
11、sql,params SqlParameter values)SqlCommand cmd = new SqlCommand(sql, Connection);cmd.Parameters.AddRange(values);return cmd.ExecuteNonQuery();BookFluorine 类代码如下图:最后存盘,重新生产解决方案,至此,服务器端开发完毕。接下来进行测试,右键点击 Console.aspx,如图,选择在浏览器中查看打开 BookWeb 下的子目录,如下图然后选择 SelectAllBooks 来验证一下我们写的方法是否可以通过点击 Call,会得到如下结果至此,
12、服务器端开发完毕,接下来用 Flex 开发客户端首先打开端口服务,查看相关信息,如下图记住这些信息,等下配置 Flex 要用。运行 Flex Builder 3 ,新建 Flex 项目,按如下配置点击 Next,按端口服务信息进行配置,如下图,点击 Finish,然后在项目上右键选择 properties,打开属性窗口左边选择 Flex Compiler,右边的 Additional compiler arguments:配置你的 services-config.xml 文件的路径,如下图点 Apply,然后在左边选择 Flex Server,配置如下点 Apply,然后左边选择 Flex Build Path,配置如下图至此,Flex 端配置完成,下面我们通过 FluorineFx 库模板为我们生成的 Sample 为例来测试下该环境是否可以通过,在 Flex 的 mxml 文件下通过标签来访问远程对象,详细如下图:这里 destination 需要设置为与 remoting-config.xml 中的 destination 的 id 一致,source 则配置为远程对象的全路径(命名空间类),通过标签配置远程对象下的方法并设置其成功调用后的结果处理函数。完整代码如下:界面效果如下图: