2011-04-13 63 views
1

是否可以创建一个Windows小工具,该工具与Web服务联系。与小工具联系的Windows小工具

在这种情况下调用Web服务方法,该方法又返回预定义的SQL Server查询的结果。

如果是这样,那么做到这一点的理想方法是什么。

有没有人做过这样的事情?

+0

哪个服务器端技术的服务器代码,您使用的?事实上,Windows小工具使用html/javascript在小工具上显示内容,因此您可以使用这些技术,并且在服务器上您可以使用php来处理sql查询。之后,它只是调用web服务的问题,它以某种格式返回数据。 – Neeraj 2011-04-27 06:00:51

+0

你可以检查这个... http://khason.net/blog/how-to-consume-wcf-or-webservice-from-vista-sidebar-gadget-by-using-silverlight/ PS:我很清楚一个旧帖子,但只是想分享链接 – Apurv 2012-10-17 11:56:28

回答

0

要回答你的问题,这确实是非常可能的,也相当简单。

在客户端/小工具方面,您将需要使用JavaScript向您的服务器发出ajax请求。当这个请求被做时,你的服务器将简单地访问你的SQL数据库并打印它,创建对该Ajax调用的响应。这里是一个使用php作为服务器端语言的例子。请评论你是否需要帮助。

客户端(JavaScript):

function GetContent(){ 
    if (window.XMLHttpRequest) 
     {// code for IE7+, Firefox, Chrome, Opera, Safari 
     xmlhttp=new XMLHttpRequest(); 
     } 
    else 
     {// code for IE6, IE5 
     xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); 
     } 
    xmlhttp.onreadystatechange=function() 
     { 
     if (xmlhttp.readyState==4 && xmlhttp.status==200) 
     { 
     var response = xmlhttp.responseText; 
       document.getElementsById("RESULTS DIV").innerHTML = response 
       //or something else to be done with response 
     } 
     } 
    var time1 = new Date().getTime() 

    xmlhttp.open("GET","PHP SERVER ADDRESS?time="+time1,true); 

     // the time parameter is important to prevent caching the response - 
     // your server code does not need to handle it. 
    xmlhttp.send(); 
    } 

自PHP

<?php 
    $con = mysql_connect("MYSQL SERVER ADDRESS","USERNAME","PASSWORD"); 
if (!$con) 
    { 
    die('Could not connect: ' . mysql_error()); 
    } 

mysql_select_db("my_db", $con); 

$result = mysql_query("SELECT * FROM TABLE_NAME"); 

while($row = mysql_fetch_array($result)) 
    { 
    echo $row['COLUMN NAME']; 
    echo "<br />"; 
    } 

mysql_close($con); 
?> 
+0

对不起,这个例子根本不起作用。 – nottinhill 2011-09-14 13:34:04