代码有什么问题?为什么第二次报告显示错误?
string level;
int key;
command.CommandText = "SELECT * FROM user WHERE name = 'admin'";
connection.Open();
Reader = command.ExecuteReader();
while (Reader.Read())
{
level = Convert.ToString(Reader["level"]);
key = Convert.ToInt32(Reader["key"]);
MessageBox.Show(level); //Work fine
}
MessageBox.Show(level); //Show error: Use of unassigned local variable 'level'
Run Code Online (Sandbox Code Playgroud)
编译器无法知道level获得了值.尽管如此,Reader.Read()
总是返回false,从而使得没有值的级别.
最常见的解决方案是将级别初始化为null
(或者我同意AdaTheDev,string.Empty
也可能是一个不错的选择)
归档时间: |
|
查看次数: |
106 次 |
最近记录: |