sqldatareader读取null

时间:2013-03-21 06:35:26

标签: select sqldatareader sqlclient executequery

我正在使用SQLDataReader从表中检索一行数据。

public SalesOrderItem getSalesOrderQuantity(Int32 so_no, Int32 so_item_no)
    {
        string commStr2 = "SELECT * FROM Sales_order_item WHERE so_no=@so_no AND so_item_no=@so_item_no)";
        SqlCommand dbComm = new SqlCommand(commStr2, dbConn);
        dbComm.Parameters.AddWithValue("@so_no", so_no);
        dbComm.Parameters.AddWithValue("@so_item_no", so_item_no);

        try
        {
            dbConn.Open();

            dbReader = dbComm.ExecuteReader();

            if(dbReader.Read())
            {                    
                soItemObj = new SalesOrderItem(Convert.ToInt32(dbReader["so_no"]), Convert.ToInt32(dbReader["so_item_no"]), dbReader["material"].ToString(), Convert.ToInt32(dbReader["quantity"]), Convert.ToDecimal(dbReader["price"]));
                return soItemObj;
            }
            else
            {
                soItemObj = null;
                return soItemObj;
            }
        }
        catch
        {
            return null;
        }
        finally
        {
            dbConn.Close();
        }
    }
未执行try块中的

If(dbReader.Read())语句。谁能告诉我这有什么问题?

感谢。

0 个答案:

没有答案