2011-04-13 103 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