Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 无法将类型bool隐式转换为字符串_C#_Sql_Sql Server - Fatal编程技术网

C# 无法将类型bool隐式转换为字符串

C# 无法将类型bool隐式转换为字符串,c#,sql,sql-server,C#,Sql,Sql Server,我正在尝试创建一个检查名称方法,以查看数据库中是否存在该用户。我在一个名为SqlFunctions2的类中创建了一个Check()函数/方法。但我的代码中有一个错误,似乎无法修复。任何帮助都将不胜感激。谢谢:) 您的函数被声明为返回一个字符串 public static string Check(string name) ^ Here 然后尝试返回一个布尔值(true或false)。 您可以返回字符串值,也可以将函数改为返回布尔值 尽管如此,您的代码不应编译,

我正在尝试创建一个检查名称方法,以查看数据库中是否存在该用户。我在一个名为SqlFunctions2的类中创建了一个Check()函数/方法。但我的代码中有一个错误,似乎无法修复。任何帮助都将不胜感激。谢谢:)


您的函数被声明为返回一个
字符串

 public static string Check(string name)
               ^ Here
然后尝试返回一个
布尔值(true或false)。
您可以返回字符串值,也可以将函数改为返回布尔值


尽管如此,您的代码不应编译,而是会出现如下错误:

错误“Contact_Form.SqlFunctions2.Check(string)”:并非所有代码路径都返回值

因为如果
try
子句中出现异常,函数似乎不会返回任何值


另请注意,在本部分中:

else if(Exist == 0)
{
    return false;
    MessageBox.Show("No such user.");
}
在显示消息框之前返回(退出函数)。

也就是说,如果用户不存在,消息框将永远不会显示。

方法检查的类型为字符串,并且由于您要返回bool,因此必须将方法检查更改为:

public static bool Check(string name)
正如您所见,它现在有一种bool类型,并且可以接受bool返回语句。


或者,如果您希望它返回一个表示true或false的字符串,则必须使用
返回“true”
返回“false”以便系统能够正确识别其类型。

这不是很明显吗?您的
Check
方法返回类型为
string
,但您尝试返回
true
,即
bool
,并且它们之间没有隐式对话。要么更改方法的返回类型,要么在方法中返回与返回类型匹配的内容。嘿,谢谢你的帮助,但你还是对了我得到的另一个错误。。。错误“Contact_Form.SqlFunctions2.Check(string)”:并非所有代码路径都返回值。为什么我现在看到了这个错误?一个函数必须在每个退出点返回一个值,而不是(如果它进入
catch
它不会返回任何东西)。另外,如果答案为您提供了修复原始问题所需的内容,请随意将其标记为正确。哦,我明白了,是的,我确实将我的方法更改为bool,并在消息框后返回false。但现在我面对的是,并不是所有的代码路径都返回一个值。。。那么,您认为try-catch块是导致出现此错误的原因吗?是的,如果代码输入catch,您不会返回任何内容,您需要在函数末尾始终返回一些内容(函数返回void时的异常,您不必键入返回)。谢谢,我在函数末尾添加了return,它清除了我的错误。:)
public static bool Check(string name)