ORA-00936 缺失表达式

来源:互联网 发布:必向东java 编辑:程序博客网 时间:2024/05/17 04:21

缺失表达式肯定是sql语法有问题,在数据库中执行试试



oracle 中 表 expense 的 id是int类型的 ,name是nvarchar2(50)类型,days是int类型的,advance 字段类型是number(10,2)类型的,

当是在winform中对应的textBox中为空时,下面的插入语句提示ORA-00936   缺失表达式

烦请大侠帮忙解决啊?急急急!!!不胜感激涕零!!!!

int id = getNum(arrNum, tmp, minValue, maxValue, rd);  //调用方法获取随机数作为id字段的数值。

其中的name,days,advance 窗体中是三个textBox的name属性      。部分主要代码如下:            

                 try
                 {
                   string sql = string.Format("insert into expense(id,name,days,advance) values({0},'{1}',{2},{3})",id,name.Text.Trim(),days.Text.Trim(),advance.Text.Trim());
                        dbcon.OpenConn();                        
                        OracleCommand cmd = new OracleCommand(sql, conn);
                        cmd.ExecuteNonQuery();
                        cmd.Dispose();
                        MessageBox.Show("添加费用成功!   ", "Photonsoft", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        this.Close();
                    }
                    catch(OracleException oex)
                    {
                        MessageBox.Show(oex.ToString(),"OracleException");
                    }
                    catch(Exception ex)
                    {
                        MessageBox.Show(ex.ToString(), "Photonsoft");
                    }
                    finally
                    {
                        dbcon.CloseConn();
                    }

0 0