Hola Verinchi.
Por lo de las transacciones. Como sabes, puedes manejar transacciones directamente en la base de datos con el SQLServer, o bien, puedes hacer que el IIS, sea quien envíe todas las actualizaciones en un momento determinado. Las transacciones son muy útiles y es necesario que uno se documente antes para entenderlas bien. Algunas páginas que te pueden servir son:
http://www.devguru.com/Technologies/...egintrans.html http://www.mcm-sys.com/download/ADO_ASP.pdf http://msdn.microsoft.com/library/de...connection.asp
El código que mencionas, verifica que no haya habido errores durante alguno de las instrucciones ADO y si fue así, manda todos los cambios a la BD's, de lo contrario, son omitidos. Las tablas quedan como estaban debido a que nunca recibieron instrucciones para ser modificados. Al definir un BeginTrans, nada se envía a la BD hasta no llegar un CommitTrans.
Lo Primero que mencionas, lo de los campos nulos, pues perdona, pero no se me hace lógico. Si tienes una tabla con campos que permiten valores nulos puedes poner o quitar valores son problemas. Si puedes saca una imagen del diseño de la tabla en cuestión y posteala para quitarme de dudas, ya que no se lógico que tengas problemas al eliminar el contenido de un campo que acepta nulos y no es llave secundaria.
Saludos