码迷,mamicode.com
首页 > 数据库 > 详细

使用WebService天气接口,自动获取天气,并定时写入数据库

时间:2017-04-13 10:19:46      阅读:293      评论:0      收藏:0      [点我收藏+]

标签:color   url   数据库   rgs   接口   cti   asm   代码   .com   

 因为我也是菜鸟,所以尽量写的简单些。。。。。

 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天气接口,自动获取天气,并定时写入数据库

标签:color   url   数据库   rgs   接口   cti   asm   代码   .com   

原文地址:http://www.cnblogs.com/FallenAngle/p/6702459.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!