我用c#在asp.net中创建了Web服务。 现在我想传递一些查询,我希望通过用户提供一些输入。 我用select和insert查询创建了方法。 但是我可以通过一些文本框输入输入吗?
“我想选择一些日期和日期的员工姓名将是文本框值。 提前致谢
当我运行这个webservice它向我展示了这个方法。但是当我尝试INVOKE这个方法时,显示错误“网站无法显示该页面 “ 我使用过这个代码:
[WebMethod]
public string GetEmps()
{
string s1 = txtMonth.Text;
string getdays = "Select Emp from WorkingDaysinfo Where date = 's1'";
con = new MySqlConnection(conString);
con.Open();
MySqlCommand cmd = new MySqlCommand(getdays, con);
MySqlDataAdapter da = new MySqlDataAdapter(cmd);
DataTable dt = new DataTable();
da.Fill(dt);
con.Close();
string jsonString = JsonConvert.SerializeObject(dt);
String finalString = "{\"EMP count\":";
finalString += jsonString;
finalString += "}";
return finalString;
}
答案 0 :(得分:1)
最有可能的是,您的Web服务代码抛出了异常,因此浏览器显示了一般错误消息。您可以通过在Web服务代码中放置断点或使用try-catch块来记录异常来找出异常详细信息。
根据您的代码和要求,最可能的问题似乎是您可能正在将文本字符串传递给日期列。 Web服务方法可以使用方法参数接受一些输入(您不能将表单中的控件用于Web服务),并且可以使用参数将其传递给数据库。例如,
[WebMethod]
public string GetEmps(DateTime inputDate)
{
// create a parameterized query
string getdays = "Select Emp from WorkingDaysinfo Where date = @inputDate";
con = new MySqlConnection(conString);
con.Open();
MySqlCommand cmd = new MySqlCommand(getdays, con);
// pass the parameter value
cmd.Parameters.Add(new SqlParameter("inputDate", inputDate);
// rest of the code follows
..
答案 1 :(得分:0)
请在网站应用程序中添加Web服务引用,并尝试从自身传递参数。