-1

我已经用 c# 在 asp.net 中创建了 Web 服务。现在我想传递一些查询,我想通过用户提供一些输入。我创建了带有选择和插入查询的方法。但是我可以通过一些文本框输入吗?

“ 我想为某个日期选择员工姓名,日期将是文本框的值。提前致谢

当我运行此网络服务时,它向我显示了此方法。但是当我尝试调用此方法时,显示错误“网站无法显示该页面”我已使用此代码:

    [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;
    }
4

2 回答 2

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
    ..
于 2012-04-09T09:26:20.583 回答
0

请在网站应用程序中添加 Web 服务引用,并尝试从它们本身传递参数。

于 2012-04-09T09:39:23.707 回答