Im sorry if this classified as OOT One example of the confussion
C Header File declaration of statement handler (taken from the 4.1.3) typedef struct st_mysql_stmt { MEM_ROOT mem_root; /* root allocations */ LIST list; /* list to keep track of all stmts */ MYSQL *mysql; /* connection handle */ MYSQL_BIND *params; /* input parameters */ MYSQL_BIND *bind; /* output parameters */ MYSQL_FIELD *fields; /* result set metadata */ MYSQL_DATA result; /* cached result set */ MYSQL_ROWS *data_cursor; /* current row in cached result */ /* copy of mysql->affected_rows after statement execution */ my_ulonglong affected_rows; my_ulonglong insert_id; /* copy of mysql->insert_id */ /* mysql_stmt_fetch() calls this function to fetch one row (it's different for buffered, unbuffered and cursor fetch). */ int (*read_row_func)(struct st_mysql_stmt *stmt, unsigned char **row); unsigned long stmt_id; /* Id for prepared statement */ unsigned int last_errno; /* error code */ unsigned int param_count; /* inpute parameters count */ unsigned int field_count; /* number of columns in result set */ enum enum_mysql_stmt_state state; /* statement state */ char last_error[MYSQL_ERRMSG_SIZE]; /* error message */ char sqlstate[SQLSTATE_LENGTH+1]; /* Types of input parameters should be sent to server */ my_bool send_types_to_server; my_bool bind_param_done; /* input buffers were supplied */ my_bool bind_result_done; /* output buffers were supplied */ /* mysql_stmt_close() had to cancel this result */ my_bool unbuffered_fetch_cancelled; /* Is set to true if we need to calculate field->max_length for metadata fields when doing mysql_stmt_store_result. */ my_bool update_max_length; } MYSQL_STMT; And the pascal version (taken from Jorge del Conde's) PMYSQL_STMT = ^TMYSQL_STMT; TMYSQL_STMT = record mysql: PMYSQL; // connection handle params: PMYSQL_BIND; // input parameters result: PMYSQL_RES; // resultset bind: PMYSQL_BIND; // row binding fields: PMYSQL_FIELD; // prepare meta info list: _TLIST; // list to keep track of all stmts query: PChar; // query buffer mem_root: TMEM_ROOT; // root allocations param_count: Cardinal; // parameters count field_count: Cardinal; // fields count stmt_id: Cardinal; // Id for prepared statement last_errno: Cardinal; // error code state: PREP_STMT_STATE; // statement state last_error: array [0..MYSQL_ERRMSG_SIZE - 1] of char; // error message long_alloced: my_bool; // flag to indicate long alloced send_types_to_server: my_bool; // Types sent to server param_buffers: my_bool; // param bound buffers res_buffers: my_bool; // output bound buffers result_buffered: my_bool; // Results buffered end; I see that the two declarations have different number of total field/member.. And also some of the struct/record member has different order of placement.. Is it ok for me to add the other missing member?? > -----Original Message----- > From: Leo [mailto:[EMAIL PROTECTED] > Sent: Saturday, July 24, 2004 9:42 AM > To: [EMAIL PROTECTED] > Subject: Object pascal translation of mysql header > > Dear All, > > Not long ago Jorge del Conde gave me his amazing translation > of mysql C header file to object pascal unit Including the > remade dll, It was able to solve my problem of migrating the > apps from using mysql 3.x to 4.x But now I am facing a new > difficulty of trying to implement mysql 4.1.3 prepared > statement, I already tried to edit the mysql.pas on my own, > adding the declaration of anything that has the word STMT on > the header file.. But instead it crashed my app I also do > some googling to find a lot of obsolote result, the mysql.pas > for mysql 3.X > > Would some one please help me.. I never did any translation > from C style to pascal before Or may be Jorge can help me > providing the newest mysql.pas > > Thanks in advance > > Regards > -- > Leonardus Setiabudi > IT Department > PT Bina San Prima > Jl Tamansari 10-12 > 022-4207725 #316 > > > -- > MySQL General Mailing List > For list archives: http://lists.mysql.com/mysql > To unsubscribe: > http://lists.mysql.com/[EMAIL PROTECTED] > > -- MySQL General Mailing List For list archives: http://lists.mysql.com/mysql To unsubscribe: http://lists.mysql.com/[EMAIL PROTECTED]