一个容易的Select查询,查询失败

一个简单的Select查询,查询失败
下面是源代码:
 public string kaizhuo(string orderTime, string userId, string tableId, string personNum)   
        {
           // DateTime date = DateTime.Parse(orderTime);
           // string orderId = DateTime.Now.ToString("yyyyMMddHHmm");
            string sqlstr = string.Format("insert into OrderTbl([orderTime],[waiterId],[tableId],[personNum])values('{0}',{1},{2},{3})", orderTime, userId, tableId, personNum);
            OleDbCommand cmd = new OleDbCommand(sqlstr, sqlCon);
            string sqlstr1 = string.Format("select max(ID) as id from orderTbl");

            if (cmd.ExecuteNonQuery() == 1)
            {
                cmd = new OleDbCommand(sqlstr1, sqlCon);
                OleDbDataReader reader= cmd.ExecuteReader();
                return reader[0].ToString();
            }
            
            else
                return null;
        }

下面是数据库表
一个容易的Select查询,查询失败
程序执行后,返回的结果为:
一个容易的Select查询,查询失败
其中第一个insert语句执行没问题,我已经调试过了,就是第二个select执行有问题。
希望大家帮忙解决,我在线等。。。
------解决方案--------------------
reader不能这么读吧,要加上这句:

if(reader.read())
{
return reader[0].ToString();
}

------解决方案--------------------
还有lz,reader读数据是单向的,你读过之后就没有了,包括你去监视reader的值。
------解决方案--------------------
就感觉这样读READER不太靠谱的样子……READE是单向前滚的,估计都读完了没数据了吧= -?