1

我拥有的是一个表单,用于管理谁收到有关另一个 Web 应用程序的通知。这很简单:添加和删除谁收到通知。在删除字段上,我有一个 jQuery 自动完成功能,在选择时它要求用户确认删除。如果是,它会对我的coldfusion 文件进行jQuery .ajax() 调用,从Oracle 数据库中删除用户。此功能按应有的方式工作。在添加字段上,我有一个确认添加的 jQuery .change() 事件。如果是,它应该添加用户电子邮件和自动递增的 ID。这就是我的问题所在。我从服务器收到一个数据库错误,我不知道为什么。语法对我来说是正确的。我在我的应用程序的其他地方使用过这种语法并且它有效。有人看到我的问题吗?

<cftry>
<cfif IsDefined('URL.theAction') && URL.theAction eq 'delete'>
    <cfquery name="qDeleteUser" datasource="#thedb#">
        DELETE
        FROM notify
        WHERE user_id = <cfqueryparam value="#URL.theID#" cfsqltype="CF_SQL_NUMERIC">
    </cfquery>
<cfelse>
    <cfquery name="qAddUser" datasource="#thedb#">
        INSERT INTO notify (user_id, name)
        VALUES (seq_notifyid,
        <cfqueryparam value="#URL.theName#" cfsqltype="CF_SQL_VARCHAR">)
    </cfquery>
</cfif>

捕获产生了这个:

错误代码:984

消息:[Macromedia][Oracle JDBC Driver][Oracle]ORA-00984: column not allowed here

:0

线:9

4

2 回答 2

3

我知道这会很愚蠢。如果我真的自动递增自动递增字段会有所帮助。( .nextVal )

VALUES (seq_notifyid.nextVal,
于 2012-09-10T13:46:23.013 回答
1

INSERT语句中缺少的右括号

<cfquery name="qAddUser" datasource="#thedb#">
        INSERT INTO notify (user_id, name)
        VALUES (seq_notifyid,
        <cfqueryparam value="#URL.theName#" cfsqltype="CF_SQL_VARCHAR">     
 </cfquery>
于 2012-09-10T13:34:28.713 回答