locked
Enterprise与Oracle问题 RRS feed

  • 问题

  • 想往Oracle中插入数据,有下面两种写法:
    1、 DbCommand m_com = g_db.GetSqlStringCommand("insert into USER_DEPARTMENT(DEPARTID,DEPARTNAME,PARENTDEPID) values('55','" + this.TextBox1.Text + "','" + this.TreeView1.SelectedNode.Value + "')");
    是可以的,没有问题;

    2、 DbCommand m_com = g_db.GetSqlStringCommand("insert into USER_DEPARTMENT(DEPARTID,DEPARTNAME,PARENTDEPID) values(@DEPARTID,@DEPARTNAME,@PARENTDEPID)");
                g_db.AddInParameter(m_com, "@DEPARTID", DbType.String, "56");
                g_db.AddInParameter(m_com, "@DEPARTNAME", DbType.String, this.TextBox1.Text);
                g_db.AddInParameter(m_com, "@PARENTDEPID", DbType.String, this.TreeView1.SelectedNode.Value);
    报错:
    ORA-01036: 非法的变量名/编号。

    请问:发生错误的原因是什么?
    2008年8月13日 2:26

答案

  • 问题已经解决了,是因为Oracle不支持@,把@换成:就可以了,谢谢!
    2008年8月21日 1:03