MSXML2.XMLHTTP Http = new MSXML2.XMLHTTPClass();                Http.open("GET", myUrl, false, null, null);
                
                Http.setRequestHeader("Content-Type", "text/html;charset=gb2312");
                Http.send("");
                
                pageHtml = Encoding.Default.GetString((byte[])Http.responseBody);
                Http = null;以上的代码获myUrl(远程网址),取得该网页的数字和日期,请问为什么获取的日期用datatime.parse(时间)后,不能和当前时间对比,请问问题出在哪呢?

解决方案 »

  1.   

    至于时间问题,你仔细跟下,可能没有获取到正确的时间格式的字符串另外,一般.NET获取页面都不会使用XMLHTTP,这个貌似是COM的组件,最好是用WEBCLIENT之类的。
      

  2.   

    非常感谢大家的意见!WebClient MyWebClient = new WebClient();
    MyWebClient.Credentials = CredentialCache.DefaultCredentials;
    Byte[] pageData = MyWebClient.DownloadData(myUrl);
    string pageHtml = Encoding.Default.GetString(pageData);  
    1、对方已设置WEBCLIENT获到不到任何内容!webclient显示404页面没有找到!只有用xmlhttp才可以用!2、时间为:2011-12-18 21:25:00   格式没有任何问题!    转换的方法为:DateTime.Parse(“获取的时间")
        能正确插入到sql的datetime类型字段中;
    3、今天发现的获取的数字型的也不能被当作数字型的字符选出来!
        select * from tb_database where fd_Ab>2      fd_ab中所有大于2的记录都选择不出来(实际大于2的记录有好多)!打开记录返回-1;     这个是不是字段转换有问题呢?请问又要怎么转换呢?
      

  3.   

    恩恩,不好意思!没有表达好!
    问题是这样的,我用winform写一个windows的应用程序,用于获取web网站上的某个网页里面的一些数字和时间,第一次用的方法是:
    //方法一
    WebClient MyWebClient = new WebClient();
    MyWebClient.Credentials = CredentialCache.DefaultCredentials;
    Byte[] pageData = MyWebClient.DownloadData(myUrl);
    string pageHtml = Encoding.Default.GetString(pageData);   能获取成功,并取得数据了,获取的时间、数字能被正常存储和使用;但是一段时间后此方法再获取网而时反回提示信息:404错误,网页无法找到!于是改用msxml方法:
     //方法二 
       MSXML2.XMLHTTP Http = new MSXML2.XMLHTTPClass();
      Http.open("GET", myUrl, false, null, null);    
      Http.setRequestHeader("Content-Type", "text/html;charset=gb2312");
      Http.send("");
      pageHtml = Encoding.Default.GetString((byte[])Http.responseBody);
      Http = null;能正常获取时间和数字存放于数据库当中,但是不能被正常当作数字或日期数据使用!数据字中字段:
    名称        类型        值
    fd_date   datetime   2011-12-18 21:25:00 
    fd_ab     float      2执行SQL语句
     select * from tb_database where fd_ab>2  用第一种方法获取的数据执行sql语句后,返回fb_ab大于2的所有记录;
    用第二种方法获取的数据执行sql语句后,返回-1;时间格式也是同样的问题!
    再次感谢大家的指教!!希望帮解决问题!
      

  4.   

    恩恩,不好意思!没有表达好!
    问题是这样的,我用winform写一个windows的应用程序,用于获取web网站上的某个网页里面的一些数字和时间,第一次用的方法是:
    //方法一
    WebClient MyWebClient = new WebClient();
    MyWebClient.Credentials = CredentialCache.DefaultCredentials;
    Byte[] pageData = MyWebClient.DownloadData(myUrl);
    string pageHtml = Encoding.Default.GetString(pageData);   能获取成功,并取得数据了,获取的时间、数字能被正常存储和使用;但是一段时间后此方法再获取网而时反回提示信息:404错误,网页无法找到!于是改用msxml方法:
     //方法二 
       MSXML2.XMLHTTP Http = new MSXML2.XMLHTTPClass();
      Http.open("GET", myUrl, false, null, null);    
      Http.setRequestHeader("Content-Type", "text/html;charset=gb2312");
      Http.send("");
      pageHtml = Encoding.Default.GetString((byte[])Http.responseBody);
      Http = null;能正常获取时间和数字存放于数据库当中,但是不能被正常当作数字或日期数据使用!数据字中字段:
    名称        类型        值
    fd_date   datetime   2011-12-18 21:25:00 
    fd_ab     float      2执行SQL语句
     select * from tb_database where fd_ab>2  用第一种方法获取的数据执行sql语句后,返回fb_ab大于2的所有记录;
    用第二种方法获取的数据执行sql语句后,返回-1;时间格式也是同样的问题!
    再次感谢大家的指教!!希望帮解决问题!