WebService接口

第一次写类似的东西,花了不少时间调试({n} 两边要加单引号啊!)

Web Service技术, 能使得运行在不同机器上的不同应用无须借助附加的、专门的第三方软件或硬件, 就可相互交换数据或集成。依据Web Service规范实施的应用之间, 无论它们所使用的语言、 平台或内部协议是什么, 都可以相互交换数据。Web Service是自描述、 自包含的可用网络模块, 可以执行具体的业务功能。Web Service也很容易部署, 因为它们基于一些常规的产业标准以及已有的一些技术,诸如标准通用标记语言下的子集XML、HTTP。Web Service减少了应用接口的花费。Web Service为整个企业甚至多个组织之间的业务流程的集成提供了一个通用机制。


     #region "973接口"
     [WebMethod(Description = "分页查询973标准和原始数据")]
     //最后一个输出参数out参数提供DataSet的总条数
     public DataSet Search973Data(string dataName, string prodType, string startTime, string endTime, double dStartLong, double dEndLong, double dStartLat, double dEndLat, int onPage, int countOfPerPage,out int totalCount)
            {
                DataSet ds = new DataSet();
                string tableName = "";

                if (dataName.ToLower().Contains("prod") && dataName.ToLower().Contains("omi"))
                    tableName = "prod_aerosol_omi";

                else if (dataName.ToLower().Contains("prod") && dataName.ToLower().Contains("avhrr"))
                    tableName = "prod_aerosol_avhrr";

                else if (dataName.ToLower().Contains("prod") && dataName.ToLower().Contains("modis"))
                    tableName = "prod_aerosol_modis";

                else if (dataName.ToLower().Contains("prod") && dataName.ToLower().Contains("misr"))
                    tableName = "prod_aerosol_misr";

                else if (dataName.ToLower().Contains("prod") && dataName.ToLower().Contains("toms"))
                    tableName = "prod_aerosol_toms";

                else if (dataName.ToLower().Contains("prod") && dataName.ToLower().Contains("parasol"))
                    tableName = "prod_aerosol_parasol";

                else if (dataName.ToLower().Contains("qrst") && dataName.ToLower().Contains("omi"))
                    tableName = "qrst_standard_omi";

                else if (dataName.ToLower().Contains("qrst") && dataName.ToLower().Contains("modis"))
                    tableName = "qrst_standard_modis";

                else if (dataName.ToLower().Contains("qrst") && dataName.ToLower().Contains("toms"))
                    tableName = "qrst_standard_toms";

                else if (dataName.ToLower().Contains("qrst") && dataName.ToLower().Contains("misr"))
                    tableName = "qrst_standard_misr";

                DateTime dtStart = DateTime.Parse(startTime);
                DateTime dtEnd = DateTime.Parse(endTime);

                string strCon = "Database='eeee';Data Source='192.***.**.***';User Id='***';Password='***';charset='utf8'";
                using (MySqlConnection mysqlConn = new MySqlConnection(strCon))
                {
                    mysqlConn.Open();
                    using (MySqlCommand cmd = mysqlConn.CreateCommand())
                    {
                        //使用Mysql的limit功能,提供分页查询
                        int startRecord = onPage  ;//从第几条开始
                        int RecordNum=countOfPerPage;//多少条

                        cmd.CommandText = string.Format("select * from {0} where (SCENEDATE between '{1}' and '{2}')  and  '{3}' >=DATAUPPERLEFTLONG  and  '{4}'<=DATAUPPERRIGHTLONG and '{5}'>=DATALOWERRIGHTLAT  and  '{6}'<=DATAUPPERRIGHTLAT and ('{7}'=Type) limit {8},{9}", tableName, dtStart, dtEnd, dStartLong, dEndLong, dStartLat, dEndLat, prodType,startRecord,RecordNum);

                        MySqlDataAdapter da = new MySqlDataAdapter(cmd.CommandText, mysqlConn);
                        da.SelectCommand = cmd;
                        da.Fill(ds);

                        //给out参数赋值,以供调用
                        totalCount = ds.Tables[0].Rows.Count;//out 参数:获取总条数

                        return ds;//返回DataSet

                    }
                }
            }
            #endregion



     #region "三维球接口"
     [WebMethod(Description = "查询973标准数据")]
     public DataSet Search973StdData(string stdName, string prodType, string startTime, string endTime, double dStartLong, double dEndLong, double dStartLat, double dEndLat, string filenameFilter)
     {
         DataSet ds = new DataSet();
         string tableName="";

         if (stdName.ToLower().Contains("omi"))
             tableName = "qrst_standard_omi";
         else if (stdName.ToLower().Contains("modis"))
             tableName = "qrst_standard_modis";
         else if (stdName.ToLower().Contains("toms"))
             tableName = "qrst_standard_toms";
         else if (stdName.ToLower().Contains("misr"))
             tableName = "qrst_standard_misr";
        
         DateTime dtStart = DateTime.Parse(startTime);
         DateTime dtEnd = DateTime.Parse(endTime);

         string strCon = "Database='***';Data Source='192.168.**.***';User Id=‘***';Password='*****';charset='utf8'";
         using (MySqlConnection mysqlConn = new MySqlConnection(strCon))
         {
             mysqlConn.Open();
             using (MySqlCommand cmd = mysqlConn.CreateCommand())
             {
                //注意在 {n} 两边单引号即:'{n}'
                cmd.CommandText = string.Format("select * from {0} where (SCENEDATE between '{1}' and '{2}')  and  '{3}' >=DATAUPPERLEFTLONG  and  '{4}'<=DATAUPPERRIGHTLONG and '{5}'>=DATALOWERRIGHTLAT  and  '{6}'<=DATAUPPERRIGHTLAT and ('{7}'=Type) and (FileName like '%{8}%')", tableName, dtStart, dtEnd, dStartLong, dEndLong, dStartLat, dEndLat, prodType, filenameFilter);

                 MySqlDataAdapter da = new MySqlDataAdapter(cmd.CommandText, mysqlConn);
                 da.SelectCommand = cmd;
                 da.Fill(ds);
                 return ds;
             }
         }
     }
#endregion


(第二个WebService接口的)效果示例:

查询结果:



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值