1

我想获得最大数量

所以我做了这个代码

 public int autoIncrement()
    {
        int no = 0;
        odbcCon.OpenCon();
        SqlCommand cmd = new SqlCommand("SELECT MAX (CustomerCode) FROM TBLM_CUSTOMER",odbcCon.MainCon);

        SqlDataReader dr = cmd.ExecuteReader();
        if (dr.Read())
        {
            if (!dr.IsDBNull(0)) {

                 no = Convert.ToInt32(dr);

            }

        }
        dr.Close();
        return no;

    }

no = Convert.ToInt32(dr);

无法将“System.Data.SqlClient.SqlDataReader”类型的对象转换为“System.IConvertible”类型。

我该如何解决这个问题?请告诉我

4

4 回答 4

2

您正在尝试将数据阅读器转换为整数。

试试这个:

if (!dr.IsDBNull(0)) {
    no = dr.GetInt32(0);
}
于 2013-08-12T18:03:53.637 回答
2

您需要为 指定0索引DataReader

no = Convert.ToInt32(dr[0]);
于 2013-08-12T18:03:58.043 回答
0

您需要给出索引:

no = Convert.ToInt32(dr[0]);
于 2013-08-12T18:03:46.693 回答
0

尝试获取 GetSqlInt32 属性

no = dr.GetSqlInt32(0);
于 2013-08-12T18:04:28.893 回答