您的位置:首页 > 编程语言 > ASP

flex3通过fluorinefx跟asp.net进行数据交互

2009-05-03 02:00 676 查看
这几天不太忙把原来的一些小的示例整理一下,这个示例是一个简单的通过fluorinefx与asp.net结合来时间flex连接数据库的.因为一直以来flex+java大家都认为是最好的搭档但是asp.net也是很好的选择,个人认为asp.net的效率要比java的高.好了现在进入正题.
flex部分代码如下:

mxml文件
<?xmlversion="1.0"encoding="utf-8"?> <mx:Applicationxmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"creationComplete="fs.GetData();"fontSize="13"> <mx:Script> <![CDATA[ importmx.collections.ArrayCollection; importmx.rpc.events.ResultEvent; importmx.controls.Alert; //获得数据后的处理函数 publicfunctionGetDataHandle(e:ResultEvent):void { //获得的数据绑定至DataGrid组件 dg.dataProvider=e.result.tables.serverInfo.initialDataasArray; } //插入数据成功后的处理函数 publicfunctionInsertDataHandle(e:ResultEvent):void { //提示插入成功 Alert.show("插入数据成功"); //重新获取数据 fs.GetData(); } ]]> </mx:Script> <mx:Panelwidth="474"height="489"title="通知"> <mx:DataGridid="dg"> <mx:columns> <mx:DataGridColumnheaderText="编号"dataField="0"/> <mx:DataGridColumnheaderText="标题"dataField="1"/> <mx:DataGridColumnheaderText="内容"dataField="2"/> <mx:DataGridColumnheaderText="发布者"dataField="3"/> </mx:columns> </mx:DataGrid> <mx:Canvaswidth="395"height="243"> <mx:Labelx="37"y="27"text="标题"/> <mx:TextInputx="80"y="25"id="txtTitle"/> <mx:Labelx="37"y="155"text="发布者"/> <mx:TextInputx="80"y="153"id="txtPublisher"/> <mx:Labelx="37"y="53"text="内容"/> <mx:TextAreax="80"y="55"width="278"height="90"id="txtContent"/> <mx:Buttonx="121"y="198"label="添加"id="btnInsert"click="fs.InsertData(txtTitle.text,txtContent.text,txtPublisher.text);"/> </mx:Canvas> </mx:Panel> <mx:RemoteObject destination="fluorine" id="fs" source="remoting.GetSQLServer2000Data" showBusyCursor="true" > <mx:method name="GetData" result="GetDataHandle(event)" /> <mx:method name="InsertData" result="InsertDataHandle(event)" /> </mx:RemoteObject> </mx:Application>
flex里的services_config.xml这个文件是一个配置文件就好比asp.net里的webconfig意思差不多吧都是xml结构,这个文件要跟mxml文件放在一个路径下文件内容如下:
<?xmlversion="1.0"encoding="UTF-8"?> <services-config> <services> <serviceid="remoting-service" class="flex.messaging.services.RemotingService" messageTypes="flex.messaging.messages.RemotingMessage"> <destinationid="fluorine"> <channels> <channelref="my-amf"/> </channels> <properties> <source>*</source> </properties> </destination> </service> </services> <channels> <channel-definitionid="my-amf"class="mx.messaging.channels.AMFChannel"> <endpointuri="http://localhost:6199/WebSite2/Gateway.aspx"class="flex.messaging.endpoints.AMFEndpoint"/> </channel-definition> </channels> </services-config>
好了到现在为止flex部分的文件已经完全展现给大家了.

下面是asp.net部分

首先确定在机器里已经安装了fluorinefx,现在fluorinefx已经可以支持在vs2008中使用了
打开vs2008或vs2005以后在就会出现一个fluorinefx的选项,建立好以后就可以通过修改cs代码来实现连接数据库的功能
代码如下:

usingSystem;
usingSystem.Data;
usingSystem.Configuration;
usingSystem.Web;
usingSystem.Web.Security;
usingSystem.Web.UI;
usingSystem.Web.UI.WebControls;
usingSystem.Web.UI.WebControls.WebParts;
usingSystem.Web.UI.HtmlControls;
usingSystem.Data.SqlClient;//引用“System.Data.SqlClient”
usingSystem.Collections;//引用“System.Collections”
usingFluorineFx.Management.Web;
usingFluorineFx;
///<summary>
///GetSQLServer2000Data的摘要说明
///</summary>
namespaceremoting//名称空间,可自定义
{
[RemotingService()]
publicclassGetSQLServer2000Data
{
publicGetSQLServer2000Data()
{
}
publicDataSetGetData()//获得数据库数据
{
SqlConnectionconn=newSqlConnection();//定义“SqlConnnection”类实例
//数据库连接字符串
conn.ConnectionString="DataSource=.;InitialCatalog=School;PersistSecurityInfo=True;UserID=sa;Password=sa";
//定义“SqlCommand”实例,从“Notes”表中取数据
SqlCommandcommand=newSqlCommand("select*fromNotes",conn);
conn.Open();//打开连接
SqlDataAdapterda=newSqlDataAdapter();//定义“SqlDataAdapter”类实例
da.SelectCommand=command;//将“command”值传递给“SqlDataAdapter”的“SelectCommand”属性
DataSetds=newDataSet();//定义“DataSet”类实例
da.Fill(ds,"tables");//取数据
//关闭数据库
conn.Close();
returnds;
}
publicvoidInsertData(stringtitle,stringcontent,stringpublisher)//插入数据
{
SqlConnectionconn=newSqlConnection();//定义“SqlConnnection”类实例
//数据库连接字符串
conn.ConnectionString="DataSource=.;InitialCatalog=School;PersistSecurityInfo=True;UserID=sa;Password=sa";
SqlCommandcommand=newSqlCommand("selectMax(noteId)fromNotes",conn);
conn.Open();//打开连接
SqlDataAdapterda=newSqlDataAdapter();//定义“SqlDataAdapter”类实例
da.SelectCommand=command;//将“command”值传递给“SqlDataAdapter”的“SelectCommand”属性
DataSetds=newDataSet();//定义“DataSet”类实例
da.Fill(ds,"tables");//取数据
stringnewid=(Convert.ToInt32(ds.Tables["tables"].Rows[0][0].ToString())+1).ToString();
command=newSqlCommand("insertintoNotesvalues('"+newid+"','"+title.Trim()+"','"+content.Trim()+"','"+publisher.Trim()+"')",conn);
command.ExecuteNonQuery();
conn.Close();
}
}
}

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: