Stephen Beitzel
May 4th, 1998, 01:41 PM
I've found that when I'm calling a stored procedure that has output
parameters, the member variables that get mapped onto the parameters
need to be initialized with legal values, even if the stored procedure
doesn't use them as input parameters. This is normally not a problem,
but I've run into it when dealing with SQL_NUMERIC parameters.
The way MFC likes to map SQL_NUMERIC values is through CString objects,
which are normally initialized to the empty string. If this value gets
used for calling the stored procedure, ODBC will complain and your
application will crash. Instead, you need to initialize the variable to
something like "0.0".
I would presume that any other non-character data type that gets
exchanged through CStrings would require similar initialization.
Article on Calling Stored Procedures
parameters, the member variables that get mapped onto the parameters
need to be initialized with legal values, even if the stored procedure
doesn't use them as input parameters. This is normally not a problem,
but I've run into it when dealing with SQL_NUMERIC parameters.
The way MFC likes to map SQL_NUMERIC values is through CString objects,
which are normally initialized to the empty string. If this value gets
used for calling the stored procedure, ODBC will complain and your
application will crash. Instead, you need to initialize the variable to
something like "0.0".
I would presume that any other non-character data type that gets
exchanged through CStrings would require similar initialization.
Article on Calling Stored Procedures