首页 > 代码库 > 使用WebService天气接口,自动获取天气,并定时写入数据库
使用WebService天气接口,自动获取天气,并定时写入数据库
因为我也是菜鸟,所以尽量写的简单些。。。。。
1. 使用的天气接口为 http://www.webxml.com.cn/WebServices/WeatherWebService.asmx ,虽说是免费的,但是有使用次数限制
2. 开发使用的是VS2012 中的 C#控制台程序,开发时需要添加WEB引用,没错,地址就是上面的URL
3. 引用方法:右键项目 -> 添加服务引用 -> 左下角高级选项 -> 添加Web引用,如下图,URL为接口地址,Web引用名随你喜欢就填什么,我填的是Weather
4. 引入服务命名空间
using GetWeater.Weather;
5. 调用服务,得到天气数据,因为返回的是数组,所以需要我们自己选择自己需要的数据,我需要的是当天的天气概况。
Weather.WeatherWebService s = new Weather.WeatherWebService(); string[] str = new string[22]; str = s.getWeatherbyCityName("上海"); string todayweather = str[6]; //获取的是当天的实时天气概况
6. ,因为正在上班,没时间写,直接贴出完整代码
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;using GetWeater.Weather;using System.Threading;using System.Timers;using System.Data;using System.Data.SqlClient;using System.Collections; namespace GetWeater{ class Program { private static void Say(string txt) { Console.WriteLine(txt); } static void Main(string[] args) { while (true) { MyTask(); int t = 1000 * 60 * 60 * 24; Thread.Sleep(t); // 时间周期毫秒 } } static void MyTask() { SqlConnection conn = new SqlConnection("server=.;database=weather;uid=sa;pwd=sa"); try { Weather.WeatherWebService s = new Weather.WeatherWebService(); string[] str = new string[22]; str = s.getWeatherbyCityName("上海"); string todayweather = str[6]; conn.Open(); Console.WriteLine("数据库连接成功!\n") string sql = "insert into WeatherMsg(Content)Values(‘" + todayweather + "‘; SqlCommand sqlcom = new SqlCommand(sql, conn); sqlcom.ExecuteNonQuery(); Console.WriteLine("数据更新成功!\n"); conn.Close(); Console.WriteLine("关闭数据库连接!\n"); } catch (Exception a) { Console.WriteLine(a.ToString()); } } }}
先溜了,欢迎大家批评指正!
使用WebService天气接口,自动获取天气,并定时写入数据库
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。