bueno si lo miras bien si es problema de diseño de DB si es un campo ID y es auto incremento porque no especificarlo directo en el diseño de base de datos y ahorrarte estar sumando tu mismo esto??, que error te da?? porque la consulta no se ve mal y el código que colocas tampoco, has la depuración de tu codigo