ORA-00936 缺失表达式

本文探讨了在使用WinForm应用程序向Oracle数据库插入数据时遇到的ORA-00936错误,即“缺失表达式”的问题。通过分析具体代码示例,详细解释了如何正确处理不同类型的数据输入,尤其是当文本框为空时的解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

缺失表达式肯定是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();
                    }

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值