我在从数据库的boolean之一获取columns值时遇到问题。我正在使用SQL Server 2008,其中在其中创建了database,如下所示:

表名:SysUser3,列为:

产品名称||产品编号||精选产品

SelectedProductsBIT类型的列,当前包含每个行条目的False值。

现在,我正在编写SQL Query来从“ SelectedProducts”列中获取布尔值

这是我的代码:

    using (SqlConnection con = new SqlConnection(@"Data Source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|Database.mdf;User Instance=true"))
        {
            con.Open();

            string cmdString = "SELECT ProductName,SelectedProducts FROM SysUser3";
            using (SqlCommand cmd = new SqlCommand(cmdString, con))
            {
                using (SqlDataReader dataRead = cmd.ExecuteReader())
                {
                    while (dataRead.Read())
                    {
                        items.Add(new ProductModel
                        {
                            Selected=(bool)dataRead["SelectedProducts"];
                            ProductName= dataRead["ProductName"].ToString()
                        });
                    }
                }
            }
        }


我在此行出现错误,因此无法运行代码:


  Selected =(bool)dataRead [“ SelectedProducts”];


我做对了吗?有人可以告诉我代码有什么问题吗?

最佳答案

您的分号放错了位置。将其更改为逗号。
它应显示为:

                while (dataRead.Read())
                {
                    items.Add(new ProductModel()
                    {
                        Selected=(bool)dataRead["SelectedProducts"],
                        ProductName= dataRead["ProductName"].ToString()
                    });
                }

08-26 06:48