一、创建过程
1.SQL 创建数据库表格
数据库相应设置,数据库名,表格名称
2.VS2008 创建FlourineFx ASP.NET Web Site网站
右击选择添加ASP.Net文件夹中App_Code,在App_Code的文件夹中添加类,创建.cs类
进行数据库读写操作 GetData() InsertData()
生成解决方案,发布网站
3.IIS中添加网站
应用程序池选用Classic .NET AppPool,相应,Net Framework版本为2.0
将WebSite转换成应用程序
开启目录浏览,浏览
4.修改service-config文件
endpoint中的uri转换成IIS中对应uri
<endpoint uri="http://localhost:8006/WebSite6/Gateway.aspx" class="flex.messaging.endpoints.AMFEndpoint"/>
5.创建Flex项目
项目位置放置在WebSite下新建文件夹
应用程序服务器类型选 无/其他
右击项目名称,属性中Flex编译器中,添加参数
-locale zh_CN -services "F:\Work\Fluorine\FxTest6\WebSite6\WEB-INF\flex\services-config.xml"
二、Flex程序总结
1.表格可选用TitleWindows代替Panel,有自带的关闭窗口选项
2.读取SQL数据库表格数据,格式转换方式
dg.dataProvider=e.result.tables.serverInfo.initialData as Array;
3. RemotObject组件用法
<!--第三方网关组件,用以连接AMF网关-->
<mx:RemoteObject
id="sampleRemoteObject" //自定义id名
destination="fluorine" //与web-config中destination一致
source="WebSite6.Services.GetSQLServer2005Data"//命名空间.类名
showBusyCursor="true">
<!--这里是.NET中的方法,name = 方法名 -->//result 获得数据后处理
<mx:method name="GetData" result="GetDataHandle(event)"/>
<mx:method name="InsertData" result="InsertDataHandle(event)"/>
</mx:RemoteObject>
三、ASP读取SQL数据
public DataSet GetData()
{
SqlConnection conn = new SqlConnection();//定义SqlConnection类实例conn
//数据库连接字符串
conn.ConnectionString = "Data Source=.;Initial Catalog=School;Persist Security Info=True;User ID=sa;Password=zy871023";
SqlCommand command = new SqlCommand("select * from Notes", conn);//定义SqlCommand类实例command,从Notes表中取数据 注意空格
conn.Open();//打开连接
SqlDataAdapter da = new SqlDataAdapter();//定义SqlDataAdapter类实例da
//将command值传递给da的SelectCommand属性
da.SelectCommand = command;
DataSet ds = new DataSet();//定义DataSet类实例ds
da.Fill(ds, "tables");//取数据
conn.Close();//关闭连接
return ds;
}
//插入数据函数
public void InsertData(string title, string content, string publisher)
{
SqlConnection conn = new SqlConnection();
conn.ConnectionString = "Data Source=.;Initial Catalog=School;Persist Security Info=True;User ID=sa;Password=zy871023";
SqlCommand command = new SqlCommand("select Max(noteId) from Notes", conn);
conn.Open();//打开连接
SqlDataAdapter da = new SqlDataAdapter();//定义SqlDataAdapter类实例da
//将command值传递给da的SelectCommand属性
da.SelectCommand = command;
DataSet ds = new DataSet();//定义DataSet类实例ds
da.Fill(ds, "tables");//取数据
//最新的id为最大noteId+1
string newid = (Convert.ToInt32(ds.Tables["tables"].Rows[0][0].ToString()) + 1).ToString();
//SQL插入语句
command = new SqlCommand("insert into Notes values('" + newid + "','" + title.Trim() + "','" + content.Trim() + "','" + publisher.Trim() + "')", conn);
command.ExecuteNonQuery();//执行SQL语句
conn.Close();
四、注意事项
1.ASP中添加using FluorineFx; 和[RemotingService()]
RemotingService属性并不是必需的,不过使用该属性,在配置了服务浏览器的Web应用上可以通过Console.aspx查看远程服务类文件,以及调用该服务的ActionScrip。
2.ASP中注意InsertData()的调用方法
insert into Notes values('" + newid + "','" + title.Trim() + "','" + content.Trim() + "','" + publisher.Trim() + "')
fs.InsertData("111","222",txtee.text)
3.VS2008中添加App_Code文件夹时不能新建或外部加载,应添加ASP.NET文件夹
4.Flex中<mx:Script>弹错显示无法生成组件,改成<fx:Script>
五、问题查找
1.最终选用配置service-config文件,没有选用RemoteObjectAMF0组件