【发布时间】:2013-09-06 09:34:22
【问题描述】:
我需要 wcf 经验丰富的专业人士的建议和帮助。 是否可以从 wcf Web 服务访问 php 网站的 mySql 数据库。如果是的话,你能告诉我如何创建 web 服务的方式,该服务将有连接字符串来访问数据库,并作为响应将 xml 格式的数据提供给我的 winform 应用程序。我的 winform 应用程序将使用这些数据!我知道网络服务的基本知识,例如从网络托管添加参考和使用数据,但从不从网络服务访问数据库!
我用下面的代码测试了Sql数据库
[WebMethod]
public string ReturnData()
{
SqlConnection con = new SqlConnection();
try
{
con.ConnectionString = ConfigurationManager.ConnectionStrings["cn"].ConnectionString;
if (con.State == ConnectionState.Closed)
{
con.Open();
}
SqlCommand cmd = new SqlCommand();
cmd.CommandText = "SELECT * FROM dataBaseName";
cmd.CommandType = CommandType.Text;
if (cmd.ExecuteScalar() == null)
{
return "Database Error !";
}
else
{
return cmd.ExecuteScalar().ToString();
}
}
catch (Exception ex)
{
return ex.ToString();
}
finally
{
if (con.State == ConnectionState.Closed)
{
con.Open();
}
}
}
但是当我使用它时显示错误..请指导!
【问题讨论】:
-
您确定您的查询有效吗?您是否将它按原样粘贴到查询工具中并运行它?您可能不应该使用 ExecuteScalar,除非您只期望返回一个值。
-
查询在我的本地主机上运行良好,我只是更改了连接字符串并上传到托管公司网站..我知道连接字符串有正确的凭据,我使用 executeScalar 只是为了测试,但是即使它没有返回第一个值..任何解决方案?
-
输出你的连接字符串的实际值并贴出来,好像是空字符串
标签: c# .net winforms wcf web-services