0

In this assignment, I am having to insert user information to tables that we have created and I am having this error that keeps on telling me

"
Code No: 80040e14
Code Message: IDispatch error #3092
Error Source: Microsoft OLE DB Provider for SQL Server
Error Description: The name 'Br' is not permitted in this context. Only constants, expressions, or variables
allowed here. Column names are not permitted
"

Br is just a test for the first name and it is supposed to be stored in a character array that inserted into our table for first_name which is a nvarchar(255)

I still have no idea what I am needing to do that will fix this error

Here is the code

void SetupAccount()
{
    int setupChoice;

    system("cls");
    cout << "Setup Accounts Menu\n";
    cout << "-------------------\n";
    cout << "1. Savings Account\n";
    cout << "2. Checking Account\n";
    cout << "3. Credit Cards\n";
    cout << "4. Loans\n";
    cout << "5. Exit\n\n";
    cout << "Please make a selection: ";

    cin >> setupChoice;

    cout << endl;

    switch (setupChoice)
    {
    case 1:
        int savID, savbalance;
        char savfname[50], savlname[50], savdate[50];

        try
        {
            hr2 = RecordSet.CreateInstance( __uuidof(ADODB::Recordset));

            cout << "Savings Account Set-Up\n";
            cout << "----------------------\n";
            cout << "Please enter first name: ";
            cin >> savfname;
            cout << "\nPlease enter last name: ";
            cin >> savlname;
            cout << "\nPlease enter an ID for the account number: ";
            cin >> savID;
            cout << "\nPlease enter the account balance: ";
            cin >> savbalance;
            cout << "\nPlease enter the account creation date (Ex. MM/DD/YYYY): ";
            cin >> savdate;


            sprintf(CmdStr, "insert into Savings (acct_number, first_name, last_name, acct_balance, acct_date) Values (%i, %s%, %s%, %i, %s%)", savID, savfname, savlname, savbalance, savdate);
            RecordSet->Open(CmdStr, DBConnect.GetInterfacePtr(), ADODB::adOpenDynamic, ADODB::adLockReadOnly, ADODB::adCmdText);
            cout<< "\n\nRecord Inserted.\n";
            system("pause");
            system("cls");

        }
        catch(_com_error &e)
        {
            ErrorHandler(e, ErrStr );
            printf(ErrStr);
            exit(0);
        }

        MainMenu();
        break;

    case 2:
        char checkfname[50], checklname[50], checkdate[50];
        int checkID, checkbalance;

        try
        {
            hr2 = RecordSet.CreateInstance( __uuidof(ADODB::Recordset));

            cout << "Checking Account Set-Up\n";
            cout << "-----------------------\n";
            cout << "Please enter first name: ";
            cin >> checkfname;
            cout << "\nPlease enter last name: ";
            cin >> checklname;
            cout << "\nPlease enter an ID for the account number: ";
            cin >> checkID;
            cout << "\nPlease enter the account balance: ";
            cin >> checkbalance;
            cout << "\nPlease enter the account creation date (Ex. MM/DD/YYYY): ";
            cin >> checkdate;


            sprintf(CmdStr, "insert into Checking (acct_number, first_name, last_name, acct_balance, acct_date) Values (%i, %s, %s, %i, %s)", checkID, checkfname, checklname, checkbalance, checkdate);
            RecordSet->Open(CmdStr, DBConnect.GetInterfacePtr(), ADODB::adOpenDynamic, ADODB::adLockReadOnly, ADODB::adCmdText);
            cout<< "\n\nRecord Inserted.\n";
            system("pause");
            system("cls");

        }
        catch(_com_error &e)
        {
            ErrorHandler(e, ErrStr );
            printf(ErrStr);
            exit(0);
        }

        MainMenu();
        break;

    case 3:
        char creditfname[50], creditlname[50], creditdate[50], creditcard[50];
        int creditID, creditbalance;

        try
        {
            hr2 = RecordSet.CreateInstance( __uuidof(ADODB::Recordset));

            cout << "Credit Card Account Set-Up\n";
            cout << "--------------------------\n";
            cout << "Please enter first name: ";
            cin >> creditfname;
            cout << "\nPlease enter last name: ";
            cin >> creditlname;
            cout << "\nPlease enter an ID for the account number: ";
            cin >> creditID;
            cout << "\nPlease enter the account balance: ";
            cin >> creditbalance;
            cout << "\nPlease enter the account creation date (Ex. MM/DD/YYYY): ";
            cin >> creditdate;
            cout << "\nPlease enter the credit card company that you signed with: ";
            cin >> creditcard;


            sprintf(CmdStr, "insert into Credit (card_type, acct_number, first_name, last_name, acct_balance, acct_date) Values (%i, %s, %s, %i, %s)", creditcard, creditID, creditfname, creditlname, creditbalance, creditdate);
            RecordSet->Open(CmdStr, DBConnect.GetInterfacePtr(), ADODB::adOpenDynamic, ADODB::adLockReadOnly, ADODB::adCmdText);
            cout<< "\n\nRecord Inserted.\n";
            system("pause");
            system("cls");

        }
        catch(_com_error &e)
        {
            ErrorHandler(e, ErrStr );
            printf(ErrStr);
            exit(0);
        }

        MainMenu();
        break;

    case 4:
        char loanfname[50], loanlname[50], loandate[50], loantype[50];
        int loanID, loanbalance;

        try
        {
            hr2 = RecordSet.CreateInstance( __uuidof(ADODB::Recordset));

            cout << "Loan Payment Account Set-Up\n";
            cout << "----------------------------\n";
            cout << "Please enter first name: ";
            cin >> loanfname;
            cout << "\nPlease enter last name: ";
            cin >> loanlname;
            cout << "\nPlease enter an ID for the account number: ";
            cin >> loanID;
            cout << "\nPlease enter the account balance: ";
            cin >> loanbalance;
            cout << "\nPlease enter the account creation date (Ex. MM/DD/YYYY): ";
            cin >> loandate;
            cout << "\nPlease enter the credit card company that you signed with: ";
            cin >> creditcard;


            sprintf(CmdStr, "insert into Loan (loan_type, acct_number, first_name, last_name, acct_balance, acct_date) Values (%i, %i, %s, %s, %i, %s)", loantype, loanID, loanfname, loanlname, loanbalance, loandate);
            RecordSet->Open(CmdStr, DBConnect.GetInterfacePtr(), ADODB::adOpenDynamic, ADODB::adLockReadOnly, ADODB::adCmdText);
            cout<< "\n\nRecord Inserted.\n";
            system("pause");
            system("cls");

        }
        catch(_com_error &e)
        {
            ErrorHandler(e, ErrStr );
            printf(ErrStr);
            exit(0);
        }

        MainMenu();
        break;
    }

}
1
Contributor
1
Reply
2
Views
4 Years
Discussion Span
Last Post by brad.ward.33
This question has already been answered. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.