]> git.saurik.com Git - wxWidgets.git/blob - src/iodbc/hstmt.h
fix for bug 1371386, with some minor mods and cleanup
[wxWidgets.git] / src / iodbc / hstmt.h
1 /*
2 * hstmt.h
3 *
4 * $Id$
5 *
6 * Query statement object management functions
7 *
8 * The iODBC driver manager.
9 *
10 * Copyright (C) 1995 by Ke Jin <kejin@empress.com>
11 *
12 * This library is free software; you can redistribute it and/or
13 * modify it under the terms of the GNU Library General Public
14 * License as published by the Free Software Foundation; either
15 * version 2 of the License, or (at your option) any later version.
16 *
17 * This library is distributed in the hope that it will be useful,
18 * but WITHOUT ANY WARRANTY; without even the implied warranty of
19 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
20 * Library General Public License for more details.
21 *
22 * You should have received a copy of the GNU Library General Public
23 * License along with this library; if not, write to the Free
24 * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
25 */
26 #ifndef _HSTMT_H
27 #define _HSTMT_H
28
29 #include "config.h"
30
31 #include "isql.h"
32 #include "isqlext.h"
33
34 typedef struct STMT
35 {
36 int type; /* must be 1st field */
37
38 struct STMT *next;
39
40 HERR herr;
41 HDBC hdbc; /* back point to connection object */
42 HSTMT dhstmt; /* driver's stmt handle */
43
44 int state;
45 int cursor_state;
46 int prep_state;
47 int asyn_on; /* async executing which odbc call */
48 int need_on; /* which call return SQL_NEED_DATA */
49 }
50 STMT_t;
51
52 enum
53 {
54 en_stmt_allocated = 0,
55 en_stmt_prepared,
56 en_stmt_executed,
57 en_stmt_cursoropen,
58 en_stmt_fetched,
59 en_stmt_xfetched,
60 en_stmt_needdata, /* not call SQLParamData() yet */
61 en_stmt_mustput, /* not call SQLPutData() yet */
62 en_stmt_canput /* SQLPutData() called */
63 }; /* for statement handle state */
64
65 enum
66 {
67 en_stmt_cursor_no = 0,
68 en_stmt_cursor_named,
69 en_stmt_cursor_opened,
70 en_stmt_cursor_fetched,
71 en_stmt_cursor_xfetched
72 }; /* for statement cursor state */
73
74 extern RETCODE _iodbcdm_dropstmt ();
75 #endif