c++ - ORA-00904 : "E_MAIL": invalid identifier

标签 c++ oracle model-view-controller proc

我正在使用 MVC 架构。我正在尝试以客户 ID 作为输入来更新表中的记录。 所有数据都作为我的 viewcustomer.cpp 类中的输入,该类的方法返回一个 customer 类型的对象,该对象通过 controlcustomer.cpp(controller) 传递给 modelcustomer.pc 中的函数 以下是我的 modelcustomer.pc 的函数

void modelcustomer::dbUpdateCustomerDetail(customer &c)
{

id=c.getId();
ph=c.getId();
string memberFName=c.getFname();
string memberLName=c.getLname();
string memberStreet=c.getStreet();
string memberCity=c.getCity();
string memberState=c.getState();
string memberEmail=c.getEmail();
fn=new char[memberFName.length()+1];
ln=new char[memberLName.length()+1];
street=new char[memberStreet.length()+1];
city=new char[memberCity.length()+1];
state=new char[memberState.length()+1];
e_mail=new char[memberEmail.length()+1];
strcpy(fn,memberFName.c_str());
strcpy(ln,memberLName.c_str());
strcpy(street,memberStreet.c_str());
strcpy(city,memberCity.c_str());
strcpy(state,memberState.c_str());
strcpy(e_mail,memberEmail.c_str());
if(dbConnect())
{
EXEC SQL UPDATE CUSTOMER_1030082 SET CID=:id,FNAME=:fn,LNAME=:ln,PHONE=:ph,STREET=:street,STATE=:state,CITY=:city,EMAIL=e_mail;
if(sqlca.sqlcode<0)
{
cout<<"error in execution"<<sqlca.sqlcode<<sqlca.sqlerrm.sqlerrmc;
}
EXEC SQL COMMIT WORK RELEASE;
}
}

当我运行它时,会显示一个带有一些选项的菜单,我选择更新选项,然后它会询问我新的详细信息,之后我会得到以下输出:

connected to Oracle!
error in execution-904ORA-00904: "E_MAIL": invalid identifier

最佳答案

e_mail 不是参数,您忘记了 ::

EXEC SQL … EMAIL=:e_mail;
                 ↑

关于c++ - ORA-00904 : "E_MAIL": invalid identifier,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30233305/

相关文章:

Java、时间相关对象和oracle to_date函数

sql - Oracle SQL : Query results from previous X isoweeks () (where X might be > 52)

c# - ASP.NET MVC : code:-32000 message: No script for id: 32

ajax - 带有部分 ajax 加载 View 的 NodeJS MVC 框架

ruby-on-rails - 我应该使用类方法还是实例方法,为什么?

c++ - 在 openCV 中无法解析类型和方法

switch 语句中的 C++ 函数未执行

c++ - 尝试将 c++ qsort 与内联函数一起使用

c++ - 使用 C++ 异常的内存泄漏

java - 将信息从弹出窗口传递到 Oracle ADF 上的主窗口