예제 #1
0
        public override void Prepare()
        {
            if ((db2Conn == null) || (db2Conn.State != ConnectionState.Open))
            {
                throw new InvalidOperationException("Prepare needs an open connection");
            }

            CloseStatementHandle(false);
            if (hwndStmt == IntPtr.Zero)
            {
                AllocateStatement("InternalExecuteNonQuery");
            }

            short sqlRet = 0;

            IntPtr numParams = IntPtr.Zero;

            sqlRet = DB2CLIWrapper.SQLPrepare(hwndStmt, commandText, commandText.Length);
            DB2ClientUtils.DB2CheckReturn(sqlRet, DB2Constants.SQL_HANDLE_STMT, hwndStmt, "SQLPrepare error.", db2Conn);

            statementOpen = true;
            prepared      = true;
        }