OracleConnection objConnection = new OracleConnection(connStr);
        string strSQL = "insert into NJTJ (HPZL,JBR) values (:HPZ,:JBR)";
        OracleCommand dbcomm = new OracleCommand(strSQL,objConnection);
        dbcomm.Parameters.Add(":HPZL", OracleType.VarChar,6);
        dbcomm.Parameters.Add(":JBR", OracleType.VarChar,30);
        dbcomm.Parameters[":HPZL"].Value = TextBox2.Text;
        dbcomm.Parameters[":JBR"].Value = TextBox1.Text;
        int i = 0;
        try
        {
            objConnection.Open();
            dbcomm.ExecuteNonQuery();
        }
        catch (Exception ex)
        {
            Response.Write(ex.Message);
            Response.End();
        }
        finally
        {
            if (objConnection.State == ConnectionState.Open)
            objConnection.Close();
        }运行报  ORA-01036: 非法的变量名/编号   的错 各位大大给分析下

解决方案 »

  1.   

    sql语句中的参数名是HPZ,而你下面赋值是HPZL,当然不对了。
      

  2.   

    values (:HPZ,:JBR)
    ==>
    values (@HPZ,@JBR)
      

  3.   

    改用dbcomm.Parameters.AddWithValue("参数名",参数值)来添加比较方便一些。
      

  4.   

    dbcomm.Parameters.Add(":HPZL", OracleType.VarChar,6);
     参数值是:HPZ   不对应呀
      

  5.   

    貌似Oracle数据库添加参数的时候不用":"
    string sql="INSERT INTO TEST VALUES(:F1)";
    OracleParameter values=new OracleParameter("F1","123");