【发布时间】:2019-08-21 13:11:27
【问题描述】:
问题是,我需要在我的应用程序中显示一个列表。
我按照要求为IsAdmin 制作了一个SQL int 类型,在学校里他们告诉我在应用程序中制作该int show bool,更准确地说是显示IsAdmin = True 还是 False?
但是当我启动应用程序并通过登录屏幕时,异常会显示以下消息:
“指定的演员表无效!”
我需要做什么?
我尝试转换此
(bool)reader["IsAdmin"].ToInt32,但显示错误。我尝试将其更改为整数,但它显示了 1 和 0。
public static List<Korisnik> GetAllUsers() {
List<Korisnik> korisnici = new List<Korisnik>();
Korisnik korisnik = null;
using (SqlConnection conn = new SqlConnection()) {
conn.ConnectionString = ConfigurationManager.ConnectionStrings["ConnString"].ToString();
conn.Open();
SqlCommand command = new SqlCommand("SELECT ID, UserName, UserPass, IsAdmin FROM Users01", conn);
using (SqlDataReader reader = command.ExecuteReader()) {
while (reader.Read()){
korisnik = new Korisnik((int)reader["ID"], (string)reader["UserName"], (string)reader["UserPass"], (bool)reader["IsAdmin"]);
korisnici.Add(korisnik);
}
}
}
return korisnici;
}
【问题讨论】:
-
粘贴您的代码而不是图片,每个人都更容易
-
数据库中有哪些数据类型?
-
@MichaelRandall 完成。
-
您实际上并没有将用户密码存储在数据库中,是吗?
-
@xVenum.dll - 你可能需要找一所新学校。您不应该在任何地方存储密码。您应该始终使用盐对密码进行哈希处理,然后只存储哈希值。这样一来,如果您的数据库遭到入侵,就没有人知道密码是什么了。