zoukankan      html  css  js  c++  java
  • c# 连接mysql并webservice数据

    擦。

    我想用这个字开头,因为这个东西搞的我十分崩溃,所谓会者不难,难者不会。我刚刚学习flex,打算用flex 连接数据库玩玩,oracle安装太费劲,而sql server 又需要重新安装,好烦,于是果断用mysql 来搞,首先安装mysql之后,用 navigate打开,并新建了一个表,当然是在test数据库中,内容如下:

    然后就开始调试,如何用 flex访问到这个破库。

    首先是下载了2010最好更新的一个连接mysql 数据库的.swf,距baidu结果看,有好多人都可以连接成功,但我不清楚我为什么不成功,错误莫名其妙,我都无法下手去查,我觉得可能是我现在用的是flash builder4.6的缘故。

    于是换思路,打算用之前有些代码的webservice 弄,当然是VS20008上面,用c#搞一个asp.net的服务应用程序,在hello world下面自己又重新添加的。

    由于没什么这方面的基础和了解,所以是瞎撞,主要是在网上搜集一些已有的成功路径,这样,我用了很多的时间搜集,但搜集到的信息十分稀少,不是稀少,而是没有,我是真没有搜集到用 wsdl连接mysql数据库并用于flex 的数据加载的,大家都是用java写的较多见,但java不懂啊,还有用php写的,看起来很简洁,但就是没有懂,苦苦寻觅之下,终于找到一个用c#连接mysql数据库的,但是控制台的应用程序,但这时已经是接近下班了,我都要崩溃了,这一天功夫花的,我心疼。

    于是我打算把整个过程写下来:

    首先,你得下载一个dll,必须的,然后引用到你的程序里,webservice当中。

    这个dll,也是十分坑爹,下载下来后有两个包,一个64 一个86,我当自己电脑64位,结果就走到死胡同里了,选择86的试试,可是里面的那个版本叫多啊,我是服了,找了一个没有单独放置的dll,不知其何处dll,也不知道其内容,引用后,没有明显出错。就这样开始了。

    其他我就不多说了,把下面代码直接复制进去,运行,输入sql语句:select * from p_c_china,于是,你可以看到结果如下下下面:(看这段代码下面有图)

    using System;
    using System.Collections;
    using System.ComponentModel;
    using System.Data;
    using System.Linq;
    using System.Web;
    using System.Web.Services;
    using System.Web.Services.Protocols;
    using System.Xml.Linq;
    using MySql.Data.MySqlClient;


    namespace WebService1
    {
    /// <summary>
    /// Service1 的摘要说明
    /// </summary>
    [WebService(Namespace = "http://tempuri.org/")]
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
    [ToolboxItem(false)]
    // 若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消对下行的注释。
    // [System.Web.Script.Services.ScriptService]
    public class Service1 : System.Web.Services.WebService
    {

    [WebMethod]
    public string HelloWorld()
    {
    return "Hello World";
    }

    [WebMethod]
    public DataTable MySqlQuery(string sql)
    {


    string source = "server=localhost;UserId=root;password=111;database=test";
    /*指定服务器和数据名,这个和书上有点不同,书上是windows用户论证,我们是用用户名root的,密码为空,数据库名information_scema*/
    MySqlConnection conn = new MySqlConnection(source);//创建连接
    conn.Open(); /*打开连接*/

    string select = "select * from p_c_china";
    MySqlCommand cmd = new MySqlCommand(select, conn);
    MySqlDataReader reader = cmd.ExecuteReader(); /*执行查询命令*/

    DataTable dt = new DataTable();
    dt.Load(reader);
    return dt;
    conn.Close(); /*关闭连接*/

    }
    }
    }

     然后在flex的编辑框架内写入以下代码,当然,此处可以不引用那个坑爹的swf了。运行效果见最后:

    <?xml version="1.0" encoding="utf-8"?>
    <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
    xmlns:s="library://ns.adobe.com/flex/spark"
    xmlns:mx="library://ns.adobe.com/flex/mx"
    minWidth="955" minHeight="600"
    initialize="init()">
    <fx:Declarations>
    <!-- 将非可视元素(例如服务、值对象)放在此处 -->
    </fx:Declarations>
    <fx:Script>
    <![CDATA[
    import mx.collections.ArrayCollection;
    import mx.rpc.events.ResultEvent;
    import mx.rpc.soap.WebService;

    private function init():void
    {
    var webservice:WebService = new WebService();
    webservice.wsdl = "http://localhost:53072/Service1.asmx?wsdl";
    webservice.loadWSDL();
    webservice.addEventListener(ResultEvent.RESULT,callback);
    webservice.MySqlQuery("select * from p_c_china");

    }

    private function callback(event:ResultEvent):void
    {
    if(event.result && event.result.Tables.p_c_china.Rows)
    {
    var rows:ArrayCollection = event.result.Tables.p_c_china.Rows;
    dg.dataProvider = rows;
    }
    }
    ]]>
    </fx:Script>

    <mx:DataGrid id="dg" width="100%">
    <mx:columns>
    <mx:DataGridColumn headerText="id" dataField="id"/>
    <mx:DataGridColumn headerText="province name" dataField="province_name"/>
    <mx:DataGridColumn headerText="county name" dataField="county_name"/>
    </mx:columns>
    </mx:DataGrid>
    </s:Application>

  • 相关阅读:
    JSP中9大内置对象类型
    使用JSP/Servalet技术开发新闻发布系统------JSP数据交互一
    BZOJ5306: [Haoi2018]染色
    BZOJ4695: 最假女选手
    BZOJ4355: Play with sequence
    BZOJ3771: Triple
    BZOJ4057: [Cerc2012]Kingdoms
    BZOJ3302: [Shoi2005]树的双中心
    BZOJ4036: [HAOI2015]按位或
    12.24 ~ 12.30周训练计划+总结
  • 原文地址:https://www.cnblogs.com/arcserver/p/2777791.html
Copyright © 2011-2022 走看看