Lynn, you should understand the data model before you start writing an application that references the data. Talk to the Data Administrator on why those columns are defined as they are; there should be a good reason for the definitions being used. Ideally, these definitions would be in a document somewhere you can easily get at. This document should include the data type definitions and the referential contraints (the rules on how the data in one table affects the data in another table). If you start messing about with the data before you understand what is allowed and what isn't, you will cause yourself unnecessary grief.
Unless there is a very good reason to do otherwise, columns should be defined as NOT NULL (as in your case). Allowing NULLs permits sloppy data management which should be discouraged. Too often, NULL is abused to mean "default value" or "I don't know yet" or "the programmer missed that one" or "the customer didn"t answer that question" or ... There have been harsh words exchanged over what NULL really means. For now, just understand that they should be avoided unless you have an excellent reason for using them. And maybe not even then.
ps. did you remove the error checking after the SQL calls?
Have fun,
Carl Forde