我有这个方法,我想回来
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表达式
请你帮我解决这个问题吗?
答案 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 或密封,返回值,方法名称和任何方法 参数。这些部分是该方法的标志。