从 SqlDataReader 检索值并传递给 switch 或 if 语句
Retrieve Value from SqlDataReader and Pass to switch or if statement
我在将值从 SqlDataReader
对象传递到 switch
语句时遇到问题 - 或与此相关的任何事情。不足的是,我正在阅读一位员工 table 的专栏,其中显示了他们的角色。为了向他们提供合适的工具,我需要知道他们的角色是什么。当我按下开关时,rec 是空的。
using (SqlCommand readEmployeeRecords = con.CreateCommand()) {
readEmployeeRecords.CommandText = "select * from dbo.Employee where employeeID = @employeeID and password = @password;";
var empID = new SqlParameter("employeeID", employeeID);
var pass = new SqlParameter("password", password);
readEmployeeRecords.Parameters.Add(empID);
readEmployeeRecords.Parameters.Add(pass);
using (SqlDataReader reader = readEmployeeRecords.ExecuteReader()) {
string rec = "";
while (reader.Read()) {
rec = reader.GetString(5);
}
switch (rec) {
case "Busboy":
BusboyForm bus = new BusboyForm();
bus.Show();
break;
case "Waiter":
WaiterForm wait = new WaiterForm();
wait.Show();
break;
}
}
我没有足够的代表来 post 评论,所以一个答案就足够了。
根据您提供的代码,rec
在到达您的 switch 语句时仍会包含该值。
区分大小写,您确定 'Busboy'
在 table 而不是 'BusBoy'
中吗?此外,您的 table return 字符串中是否有额外的空格,即 'BusBoy '
?
听起来您遇到了 switch 语句的 default
情况,因此没有得到预期的行为。
我在将值从 SqlDataReader
对象传递到 switch
语句时遇到问题 - 或与此相关的任何事情。不足的是,我正在阅读一位员工 table 的专栏,其中显示了他们的角色。为了向他们提供合适的工具,我需要知道他们的角色是什么。当我按下开关时,rec 是空的。
using (SqlCommand readEmployeeRecords = con.CreateCommand()) {
readEmployeeRecords.CommandText = "select * from dbo.Employee where employeeID = @employeeID and password = @password;";
var empID = new SqlParameter("employeeID", employeeID);
var pass = new SqlParameter("password", password);
readEmployeeRecords.Parameters.Add(empID);
readEmployeeRecords.Parameters.Add(pass);
using (SqlDataReader reader = readEmployeeRecords.ExecuteReader()) {
string rec = "";
while (reader.Read()) {
rec = reader.GetString(5);
}
switch (rec) {
case "Busboy":
BusboyForm bus = new BusboyForm();
bus.Show();
break;
case "Waiter":
WaiterForm wait = new WaiterForm();
wait.Show();
break;
}
}
我没有足够的代表来 post 评论,所以一个答案就足够了。
根据您提供的代码,rec
在到达您的 switch 语句时仍会包含该值。
区分大小写,您确定 'Busboy'
在 table 而不是 'BusBoy'
中吗?此外,您的 table return 字符串中是否有额外的空格,即 'BusBoy '
?
听起来您遇到了 switch 语句的 default
情况,因此没有得到预期的行为。