问题描述
|
是否可以创建一个与Web服务联系的Windows小工具。
在这种情况下,调用Web服务方法,该方法又返回预定义的sql Server查询的结果。
如果是这样,那么执行此操作的理想方法是什么。
有没有人做过这样的事情?
解决方法
要回答您的问题,这确实是非常可能的,而且也非常简单。
在客户端/小工具方面,您将需要使用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);
?>