System.Data.OracleClient.OracleException: ORA-01036: 非法的变量名/编号

来源:互联网 发布:linux开启vsftpd服务 编辑:程序博客网 时间:2024/04/30 19:19
.net+Oracle
如下代码:
//有事务处理 SN的生成
            String sqlInsert = "INSERT INTO xinwen(建立日期,建立时间,新闻标题,新闻类别,新闻类型,新闻内容,关键字,新闻来源,点击次数,发布部门,经办人,SN) VALUES(:jlrq,:jlsj,:xwbt,:xwlb,:xwlx,:xwnr,:gjz,:xwly,:djcs,:fbbm,:jbr,:sn)";

            OracleParameter[] parms 
= {
                
new OracleParameter(":jlrq", OracleType.Char, 10),
                
new OracleParameter(":jlsj", OracleType.Char, 10),
                
new OracleParameter(":xwbt", OracleType.VarChar, 512),
                
new OracleParameter(":xwlb", OracleType.Char, 8),
                
new OracleParameter(":xwlx", OracleType.Char, 8),
                
new OracleParameter(":xwnr", OracleType.Clob),
                
new OracleParameter(":gjz", OracleType.Char, 128),
                
new OracleParameter(":xwly", OracleType.VarChar, 1024),
                
new OracleParameter(":djcs", OracleType.Number, 8),
                
new OracleParameter(":fbbm", OracleType.Char, 64),
                
new OracleParameter(":jbr", OracleType.Char, 20),
                
new OracleParameter(":sn", OracleType.Char, 32)
                }
;

            parms[
0].Value = this.TextBoxJianLiRiQi.Text.Trim();
            parms[
1].Value = this.TextBoxJianLiShiJian.Text.Trim();
            parms[
2].Value = this.TextBoxXinWenBiaoTi.Text.Trim();
            parms[
3].Value = this.DropDownListXinWenLeiBie.SelectedItem.Text.Trim();
            parms[
4].Value = this.DropDownListXinWenLeiXin.SelectedItem.Text.Trim();
            parms[
5].Value = this.FreeTextBoxXinWenNeiRong.Text;
            parms[
6].Value = this.TextBoxGuanJianZi.Text.Trim();
            parms[
7].Value = this.TextBoxXinWenLaiYuan.Text.Trim();
            parms[
8].Value = 0;
            parms[
9].Value = this.TextBoxFaBuBuMen.Text.Trim();
            parms[
10].Value = this.TextBoxJinBanRen.Text.Trim();
            parms[
11].Value = this.LabelZhuJian.Text.Trim();


            OracleConnection conn 
= new OracleConnection(OracleHelper.DatabaseConnStr);
            conn.Open();
            OracleTransaction trans 
= conn.BeginTransaction(IsolationLevel.ReadCommitted);

            
try
            
{
                OracleHelper.ExecuteNonQuery(trans, CommandType.Text, sqlInsert, parms);
                trans.Commit();
            }

            
catch (Exception ex)
            
{
                trans.Rollback();
                ex.ToString();
            }

            
finally
            
{
                conn.Close();
            }
 
出现System.Data.OracleClient.OracleException: ORA-01036: 非法的变量名/编号
问题
可能之一就是你的名称不对应
比如:xwlx 写成:xxlx所引起的

或则        // 客户类型,客户编号,客户名称,开户行,账户,税号,地址,邮编,电话号码,手机,传真,邮箱,联系人,客户生日,特点,备注,更新日期,更新人,SN
        String sqlUpdate = "UPDATE kehuxinxi SET 客户类型=:khlx,客户编号=:khbh,客户名称=:khmc,开户行=:khh,账户=:zh,税号=:sh,地址=:dz,邮编=:yb,"
                            + "电话号码=:dhhm,手机=:sj,传真=:cz,邮箱=:yx,联系人=:lxl,客户生日=:khsr,特点=:td,备注=:bz,更新日期=:gxrq,更新人=:gxr"
                            + " WHERE SN=:sn";
其中少写了个,比如电话号码=:dhhm,手机=:sj, 写成 电话号码=:dhhm 手机=:sj,
原创粉丝点击