无法在表中获取列名

本文关键字:获取 | 更新日期: 2023-09-27 18:03:38

下面是我的代码:

     conn.Open();
     string sql = "select min(IMG_ID) from IMGDETAIL where PRO_ID = @id";
     cmd = new SqlCommand(sql, conn);
     cmd.Parameters.Add(new SqlParameter("@id", nailId));
     da = new SqlDataAdapter(cmd);
     da.Fill(dt);    
     if (dt.Rows.Count > 0)
      {
        foreach (DataRow row in dt.Rows)
        {
          id = int.Parse(row["IMG_ID"].ToString());                      
        }
      }

我试图得到一个id列,它显示了一个错误,我的表没有一个IMG_ID列,但我检查它已经有这个列。

谁能告诉我出了什么事?

无法在表中获取列名

试试下面的- MIN(…)不会给列命名为MIN的内容。

string sql = "select min(IMG_ID) AS IMG_ID from IMGDETAIL where PRO_ID = @id";

您没有IMG_ID列,但是MIN(IMG_ID)产生的未命名列。使用AS将其命名为

string sql = "select min(IMG_ID) AS IMG_ID from IMGDETAIL where PRO_ID = @id";

纠正您的查询以避免由于您的查询创建了未命名的列而出现此错误,它应该是:

select min(IMG_ID) as IMG_ID  from IMGDETAIL where PRO_ID = @id

如果你使用这个,它会给列一个名称IMG_ID