第一次写类似的东西,花了不少时间调试({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 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}%')",filenameFilter); MysqLDataAdapter da = new MysqLDataAdapter(cmd.CommandText,MysqLConn); da.SelectCommand = cmd; da.Fill(ds); return ds; } } } #endregion
(第二个WebService接口的)效果示例:
查询结果:
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。