0

我有这个方法,我想返回

public void najdi_pojistovnu()
    {
        string sqlcom = "SELECT id FROM pojist WHERE name LIKE '" + comboBox1.SelectedItem + "'";

        SqlCommand command = new SqlCommand (sqlcom,spojeni);
        spojeni.Open();
        int result= Convert.ToInt32(command.ExecuteScalar());
        spojeni.Close();

        return result;

    }

我想从另一种方法中调用结果,如下所示:

  najdi_pojistovnu();

但我 gex 这个 ex: 由于 (path).najdi_poistovnu() return void a return 关键字不能后跟 objext 表达式

你能帮我解决这个问题吗?

4

4 回答 4

4

当您返回result类型时,int因此更改函数签名

改变

public void najdi_pojistovnu()

public int najdi_pojistovnu()
于 2013-08-27T07:25:36.023 回答
2
public int najdi_pojistovnu()
    {
        string sqlcom = "SELECT id FROM pojist WHERE name LIKE '" + comboBox1.SelectedItem + "'";

        SqlCommand command = new SqlCommand (sqlcom,spojeni);
        spojeni.Open();
        int result= Convert.ToInt32(command.ExecuteScalar());
        spojeni.Close();

        return result;

    }

或者

public void najdi_pojistovnu(out int result)
    {
        string sqlcom = "SELECT id FROM pojist WHERE name LIKE '" + comboBox1.SelectedItem + "'";

        SqlCommand command = new SqlCommand (sqlcom,spojeni);
        spojeni.Open();
        result= Convert.ToInt32(command.ExecuteScalar());
        spojeni.Close();

    }
于 2013-08-27T07:25:18.583 回答
1

您试图在 void 方法中返回 int 值。正确的语法是:

public int najdi_pojistovnu()
{
    string sqlcom = "SELECT id FROM pojist WHERE name LIKE '" + comboBox1.SelectedItem + "'";

    SqlCommand command = new SqlCommand (sqlcom,spojeni);
    spojeni.Open();
    int result= Convert.ToInt32(command.ExecuteScalar());
    spojeni.Close();

    return result;

}
于 2013-08-27T07:27:53.753 回答
1

gex this ex: 由于 (path).najdi_poistovnu() return void 一个 return 关键字不能跟一个 objext 表达式

你的函数签名说这个方法不会返回任何东西。而您正试图从您的函数返回一个 int (结果)。

现在,如果你想返回整数,你应该像这样改变你的定义

 public int najdi_pojistovnu()

我想从另一种方法中调用结果,如下所示:najdi_pojistovnu();

你可以这样称呼它

int result = najdi_pojistovnu();

来自MSDN

通过指定访问级别(如公共或私有)、可选修饰符(如抽象或密封)、返回值、方法名称和任何方法参数,在类或结构中声明方法。这些部分一起是方法的签名。

于 2013-08-27T07:31:18.810 回答