以下のSQL更新は機能しませんが、従業員の更新で「cin name」をコメントアウトすると更新されます。従業員の検索中に従業員の名前を既に要求しているため、名前変数にデータを割り当てる必要があるため、わかりませんが、それは起こっていません。誰か助けてください。ありがとうございました。
EXEC SQL BEGIN DECLARE SECTION;
//int customer_id,cu_id;
char salary[10],address[50];
char name[50];
EXEC SQL END DECLARE SECTION;
fnConnectDB();
cout<<"Customer Id\t\t: ";
cin.getline(name,50); // search employee
EXEC SQL SELECT * INTO :salary,:address,:name FROM EMPLOYEES WHERE NAME = :name;
// output empoyee information
cout<<"\nCustomer Name\t\t: "<<name;
cout<<"\nCustomer contact\t: "<<salary;
cout<<"\nCustomer status\t\t: "<<address;
cout<<"\n\nEnter new value for customer:\n\n";
// update employee
// cout<<"Customer name\t\t: "; // if I comment out this it will update
// cin.getline(name,50); // if I comment out this it will update
cout<<"Customer salary\t\t: ";
cin.getline(salary,10);
cout<<"Customer address\t\t: ";
cin.getline(address,50);
// check employee name if it initialize
cout<<"\nCustomer Name\t\t: "<<name;
EXEC SQL UPDATE EMPLOYEES SET SALARY=:salary, ADDRESS=:address WHERE NAME = :name;