将结果从方法返回到另一个方法

时间:2013-08-27 07:24:17

标签: c# sql sql-server

我有这个方法,我想回来

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这个例子:因为(路径).najdi_poistovnu()返回void,返回关键字后面不能跟一个objext表达式

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

4 个答案:

答案 0 :(得分:4)

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

更改

public void najdi_pojistovnu()

public int najdi_pojistovnu()

答案 1 :(得分: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();

    }

答案 2 :(得分: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;

}

答案 3 :(得分:1)

  

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

您的函数签名表示此方法不会返回任何内容。而你试图从你的函数返回一个int(结果)。

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

 public int najdi_pojistovnu()
  

我想用另一种方法调用结果:najdi_pojistovnu();

你可以这样称呼它

int result = najdi_pojistovnu();

来自MSDN

  

通过指定访问权限在类或结构中声明方法   等级,如public或private,可选修饰符,如abstract   或密封,返回值,方法名称和任何方法   参数。这些部分是该方法的标志。