Path: dp-news.maxwell.syr.edu!spool.maxwell.syr.edu!news-spur1.maxwell.syr.edu!news.maxwell.syr.edu!postnews.google.com!h48g2000cwc.googlegroups.com!not-for-mail
From: cmgray74@gmail.com
Newsgroups: comp.databases.oracle.server
Subject: Embedded SQL Question..... Please help......
Date: 10 Oct 2006 09:59:10 -0700
Organization: http://groups.google.com
Lines: 69
Message-ID: <1160499550.771599.160350@h48g2000cwc.googlegroups.com>
NNTP-Posting-Host: 208.46.47.5
Mime-Version: 1.0
Content-Type: text/plain; charset="iso-8859-1"
X-Trace: posting.google.com 1160499555 1801 127.0.0.1 (10 Oct 2006 16:59:15 GMT)
X-Complaints-To: groups-abuse@google.com
NNTP-Posting-Date: Tue, 10 Oct 2006 16:59:15 +0000 (UTC)
User-Agent: G2/1.0
X-HTTP-UserAgent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322),gzip(gfe),gzip(gfe)
Complaints-To: groups-abuse@google.com
Injection-Info: h48g2000cwc.googlegroups.com; posting-host=208.46.47.5;
   posting-account=kLePdg0AAAA1K_S794Fa_4gyG8Sgcp-i
Xref: dp-news.maxwell.syr.edu comp.databases.oracle.server:276955

All,
I am trying to write a simple function that will allow a user to enter
a Update query similar to the one below on the command line.

Update person set personName = 'P0' Where personID = :placeHolder;

I have written the following code to try and complete this task but I
am having difficulty as I am new to Embedded SQL in C++;

void Query::UpdateOption()
{

    EXEC SQL WHENEVER SQLERROR DO sql_error("ORACLE error:");

    EXEC SQL BEGIN DECLARE SECTION;

        varchar username[UNAME_LEN];  // VARCHAR is an ORACLE supplied
struct
        varchar password[PWD_LEN];    // varchar can be in lower case
also
        varchar sql_statement[1000];	//holds the sql stat being
constructed..

        int inputNumber;

    EXEC SQL END DECLARE SECTION;

    memset((char*)sql_statement.arr,'\0',1000);

    cout<<"Please Enter the Update Query String"<<endl;
    cin.getline((char *)sql_statement.arr,1000,';');
    cout<<endl;

    cout<<"Enter User Name ";  cin>>username.arr;
    cout<<"Enter Password: ";  cin>>password.arr;

    username.len = strlen((char *) username.arr);
    password.len = strlen((char *) password.arr);

    cout<<"Before Connection "<<(char *)username.arr<<"  "<<(char
*)password.arr<<endl;

    //  CONNECTS TO DATABASE
    EXEC SQL CONNECT :username IDENTIFIED BY :password;

    int theLength = strlen((char*) sql_statement.arr);
    cout<<(char *)sql_statement.arr<<endl;

    sql_statement.len = theLength;
    cout<< "...Query is  " <<endl<<(char *) sql_statement.arr << endl;
    cout<<endl;

    cout<<"Please Enter Number ";
    cin>>inputNumber;
    cout<<endl;

    EXEC SQL PREPARE q FROM :sql_statement;

    EXEC SQL WHENEVER NOT FOUND DO break;

    EXEC SQL EXECUTE q using :inputNumber;

   //EXEC SQL COMMIT work release;
 
}

Thanks for any help,
Chris

