1

这是我的代码:

     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列的错误,但是我检查它已经有这个列。

有人可以告诉我有什么问题吗?

4

3 回答 3

1

您没有IMG_ID列,而是由MIN(IMG_ID). 用来AS给它起一个名字,比如

string sql = "select min(IMG_ID) AS IMG_ID from IMGDETAIL where PRO_ID = @id";
于 2013-03-13T15:24:29.570 回答
1

试试下面的 - MIN(...) 不会给列的名称与 MIN 的内容相同。

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

于 2013-03-13T15:23:04.587 回答
0

更正您的查询以避免此错误,因为您的查询创建了一个未命名的列,它应该是:

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

如果您使用它,它将为列命名为 IMG_ID

于 2013-03-13T15:22:56.663 回答