这是我检索当前插入的product_ID的代码,但我在这里得到了例外 - "索引超出范围" PRODUCT_ID
public int GetProductIDD()
{
int productID = 0;
con.Open();
string str = "SELECT MAX(Product_ID) FROM AddProduct";
cmd = new SqlCommand(str, con);
SqlDataReader rd = cmd.ExecuteReader();
while (rd.Read())
{
productID = Convert.ToInt32(rd["Product_ID"]);
}
return productID;
}
我的数据库表AddProduct如下 -
Product_ID Product_Name Vendor_ID
-----------------------------------------
1 asd 3
提前致谢...
答案 0 :(得分:2)
尝试使用别名:
string str = "SELECT MAX(Product_ID) as Product_ID FROM AddProduct";
<强>分析:强>
使用您的查询,结果将类似于:
MAX(Product_ID)
1
您正在尝试从结果中获取Product_ID
字段。
使用别名,结果如下:
Product_ID
1
答案 1 :(得分:-1)
如果您的查询返回单个结果,那么它应该是正确的输出以及C#OutPut。
检查您的数据阅读器是否先输入。
if (rd.HasRows)
{
while (rd.Read())
{
productID = Convert.ToInt32(rd["Product_ID"]);
}
}