这是我的代码:
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
列,但是我检查它已经是这个列。
有人可以告诉我出了什么问题吗?
答案 0 :(得分:1)
请尝试以下操作 - MIN(...)不会为列提供与MIN内容相同的名称。
string sql = "select min(IMG_ID) AS IMG_ID from IMGDETAIL where PRO_ID = @id";
答案 1 :(得分:1)
您没有IMG_ID
列,但是来自MIN(IMG_ID)
的未命名列。使用AS
为其命名,如
string sql = "select min(IMG_ID) AS IMG_ID from IMGDETAIL where PRO_ID = @id";
答案 2 :(得分:0)
更正您的查询以避免此错误,因为您的查询创建了一个未命名的列,它应该是:
select min(IMG_ID) as IMG_ID from IMGDETAIL where PRO_ID = @id
如果您使用此选项,则会为该列命名为IMG_ID