I have a program coded for reading a record from a MS SQL Server database Table. When I step through the code in debug mode it lands on the EXEC SQL statement and when I step again it lands outside of the EXEC SQL/END-EXEC structure. It looks as though none of the statements inside this structure are executing. Is this normal? If it is, is there a way to step through this structure to observe the back end process? I'm not returning the record from my SQL query and need to figure out why.
My database and table are able to display in the 'Server Explorer' of Visual Studio.
The database object is not displayed in the Solution Explorer.
I'm using a ADO.NET DSN and it's connected to my MS SQL Server database successfully.
I'm using GEN-SQLCA directive in the ESQL Preprocessor-OPENESQL.
Here is my code:
IDENTIFICATION DIVISION.
PROGRAM-ID. FirstDBProg.
ENVIRONMENT DIVISION.
CONFIGURATION SECTION.
DATA DIVISION.
*
WORKING-STORAGE SECTION.
*
EXEC SQL
INCLUDE SQLCA
END-EXEC
*
COPY CustContacts.
*
PROCEDURE DIVISION.
*Test error handling
EXEC SQL
CONNECT TO ‘SQLNOEXIST’
END-EXEC
*Connect to DSN that uses Windows authentication
EXEC SQL
CONNECT TO ‘MSSQLSADONET’
END-EXEC
*Retrieve record(s)
PERFORM Execute-Select
*
EXEC SQL
DISCONNECT CURRENT
END-EXEC
STOP RUN.
*
Execute-Select.
EXEC SQL
SELECT A.CustFirstName INTO :WS-CustFirstName
FROM TblCustContacts A
WHERE (A.CustNum = 1)
END-EXEC
*
DISPLAY WS-CustFirstName.
*
OpenESQL-ERROR.
DISPLAY "Error = " SQLERRM
DISPLAY "SQLCode = " SQLCODE.
*
END PROGRAM FirstDBProg.
******************************************************