往oracle插入数据时的问题
提交textbox中的内容到数据库,下面是提交button的代码 
 protected   void   Button2_Click(object   sender,   EventArgs   e) 
             { 
                         OracleConnection   conn   =   new   OracleConnection( "Data   Source=caora;User   ID=gufei;Password=gufei; "); 
                         //在此构造你所需的Sql语句。 
                         String   strSql   =    "Insert   into   GUFEI.PRODUCTION(PRODUCTNO,   PRODCODE,PUNIT,PRODNAME,PQUANTITY)   values( ' "   +   TextBox1.Text   +    " ', ' "   +   TextBox2.Text   +    " ', ' "   +   TextBox3.Text   +    " ', ' "   +   TextBox4.Text   +    " ', ' "   +   TextBox5.Text   +    " ') "; 
                         OracleCommand   cmd   =   new   OracleCommand(strSql,   conn); 
                         cmd.Connection.Open(); 
                         //通过SqlCommand对象执行Sql命令语句即可。          
                         cmd.ExecuteNonQuery(); 
                         //cmd.Connection.Close(); 
 点击提交后报错ORA-01400:   无法将   NULL   插入   ( "GUFEI ". "PRODUCTION ". "PRODUCTION_ID ") 
 PRODUCTION_ID是PK我知道不能为空,但是我textbox中的内容没它,我该怎么做呢
------解决方案--------------------那你这个 PRODUCTION_ID 的值从哪里来呢?是个序列吗?   
 还有,楼主,你上一个帖子还没结
------解决方案--------------------PRODUCTION_ID你要设置为自增字段,要不就PK为空
------解决方案--------------------String strSql =  "Insert into GUFEI.PRODUCTION(PRODUCTION_ID, PRODUCTNO, PRODCODE,PUNIT,PRODNAME,PQUANTITY) values(coalesce(production_id,0)+1, ' " + TextBox1.Text +  " ', ' " + TextBox2.Text +  " ', ' " + TextBox3.Text +  " ', ' " + TextBox4.Text +  " ', ' " + TextBox5.Text +  " ') ";
------解决方案--------------------写法错误   
 String strSql =  "Insert into GUFEI.PRODUCTION(PRODUCTION_ID,UNITBASIC_ID, PRODUCTNO, PRODCODE,PUNIT,PRODNAME,PQUANTITY) values(nvl((select max(PRODUCTION_ID) from GUFEI.PRODUCTION), 1), nvl((select max(UNITBASIC_ID) from GUFEI.PRODUCTION), 1), ' " + TextBox1.Text +  " ', ' " + TextBox2.Text +  " ', ' " + TextBox3.Text +  " ', ' " + TextBox4.Text +  " ', ' " + TextBox5.Text +  " ') ";