⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mysql.h

📁 MySQL的ODBC接口程序源代码
💻 H
字号:
/* Copyright Abandoned 1996 TCX DataKonsult AB & Monty Program KB & Detron HB   This file is public domain and comes with NO WARRANTY of any kind *//* defines for libmysql */#ifndef _mysql_h#define _mysql_h#ifdef	__cplusplusextern "C" {#endif#ifndef _global_h				/* If not standard header */#include <sys/types.h>typedef char my_bool;#if !defined(__WIN32__) && !defined(WIN32)#define STDCALLtypedef char byte;#else#define STDCALL __stdcall#endiftypedef char * gptr;#ifndef ST_USED_MEM_DEFINED#define ST_USED_MEM_DEFINEDtypedef struct st_used_mem {			/* struct for once_alloc */  struct st_used_mem *next;			/* Next block in use */  unsigned int	left;				/* memory left in block  */  unsigned int	size;				/* size of block */} USED_MEM;typedef struct st_mem_root {  USED_MEM *free;  USED_MEM *used;  unsigned int	min_malloc;  unsigned int	block_size;  void (*error_handler)(void);} MEM_ROOT;#endif#ifndef Socket_defined#ifdef __WIN32__#define Socket SOCKET#elsetypedef int Socket;#endif#endif#endif#include "mysql_com.h"#include "mysql_version.h"extern unsigned int mysql_port;extern char *mysql_unix_port;#define IS_PRI_KEY(n)	((n) & PRI_KEY_FLAG)#define IS_NOT_NULL(n)	((n) & NOT_NULL_FLAG)#define IS_BLOB(n)	((n) & BLOB_FLAG)#define IS_NUM(t)	((t) <= FIELD_TYPE_INT24 || (t) == FIELD_TYPE_YEAR)typedef struct st_mysql_field {  char *name;			/* Name of column */  char *table;			/* Table of column if column was a field */  char *def;			/* Default value (set by mysql_list_fields) */  enum enum_field_types type;	/* Type of field. Se mysql_com.h for types */  unsigned int length;		/* Width of column */  unsigned int max_length;	/* Max width of selected set */  unsigned int flags;		/* Div flags */  unsigned int decimals;	/* Number of decimals in field */} MYSQL_FIELD;typedef byte **MYSQL_ROW;		/* return data as array of strings */typedef unsigned int MYSQL_FIELD_OFFSET; /* offset to current field */typedef struct st_mysql_rows {  struct st_mysql_rows *next;		/* list of rows */  MYSQL_ROW data;} MYSQL_ROWS;typedef MYSQL_ROWS *MYSQL_ROW_OFFSET;	/* offset to current row */typedef struct st_mysql_data {  unsigned int rows;  unsigned int fields;  MYSQL_ROWS *data;  MEM_ROOT alloc;} MYSQL_DATA;enum mysql_status { MYSQL_STATUS_READY,MYSQL_STATUS_GET_RESULT,		    MYSQL_STATUS_USE_RESULT};typedef struct st_mysql {  NET		net;			/* Communication parameters */  char		*host,*user,*passwd,*unix_socket,*server_version,*host_info,		*info,*db;  unsigned int	port,client_flag,server_capabilities;  unsigned int	protocol_version;  unsigned int	field_count;  unsigned long thread_id;		/* Id for connection in server */  unsigned long affected_rows;  unsigned long insert_id;		/* id if insert on table with NEXTNR */  unsigned long extra_info;		/* Used by mysqlshow */  enum mysql_status status;  MYSQL_FIELD	*fields;  MEM_ROOT	field_alloc;  my_bool	free_me;		/* If free in mysql_close */  my_bool	reconnect;		/* set to 1 if automatic reconnect */} MYSQL;typedef struct st_mysql_res {  unsigned long row_count;  unsigned int	field_count, current_field;  MYSQL_FIELD	*fields;  MYSQL_DATA	*data;  MYSQL_ROWS	*data_cursor;  MEM_ROOT	field_alloc;  MYSQL_ROW	row;			/* If unbuffered read */  MYSQL_ROW	current_row;		/* buffer to current row */  unsigned int	*lengths;		/* column lengths of current row */  MYSQL		*handle;		/* for unbuffered reads */  my_bool	eof;			/* Used my mysql_fetch_row */} MYSQL_RES;#define mysql_num_rows(res) (res)->row_count#define mysql_num_fields(res) (res)->field_count#define mysql_eof(res) (res)->eof#define mysql_fetch_field_direct(res,fieldnr) ((res)->fields[fieldnr])#define mysql_fetch_fields(res) (res)->fields#define mysql_row_tell(res) (res)->data_cursor#define mysql_field_tell(res) (res)->current_field#define mysql_affected_rows(mysql) (mysql)->affected_rows#define mysql_insert_id(mysql) (mysql)->insert_id#define mysql_error(mysql) (mysql)->net.last_error#define mysql_errno(mysql) (mysql)->net.last_errno#define mysql_info(mysql) (mysql)->info#define mysql_reload(mysql) mysql_refresh((mysql),REFRESH_GRANT)#define mysql_thread_id(mysql) (mysql)->thread_idMYSQL *		STDCALL mysql_connect(MYSQL *mysql, const char *host,				      const char *user, const char *passwd);#if MYSQL_VERSION_ID >= 32200MYSQL *		STDCALL mysql_real_connect(MYSQL *mysql, const char *host,					   const char *user,					   const char *passwd,					   const char *db,					   unsigned int port,					   const char *unix_socket,					   unsigned int clientflag);#elseMYSQL *		STDCALL mysql_real_connect(MYSQL *mysql, const char *host,					   const char *user,					   const char *passwd,					   unsigned int port,					   const char *unix_socket,					   unsigned int clientflag);#endifvoid		STDCALL mysql_close(MYSQL *sock);int		STDCALL mysql_select_db(MYSQL *mysql, const char *db);int		STDCALL mysql_query(MYSQL *mysql, const char *q);int		STDCALL mysql_real_query(MYSQL *mysql, const char *q,					unsigned int length);int		STDCALL mysql_create_db(MYSQL *mysql, const char *DB);int		STDCALL mysql_drop_db(MYSQL *mysql, const char *DB);int		STDCALL mysql_shutdown(MYSQL *mysql);int		STDCALL mysql_dump_debug_info(MYSQL *mysql);int		STDCALL mysql_refresh(MYSQL *mysql,				     unsigned int refresh_options);int		STDCALL mysql_kill(MYSQL *mysql,unsigned long pid);char *		STDCALL mysql_stat(MYSQL *mysql);char *		STDCALL mysql_get_server_info(MYSQL *mysql);char *		STDCALL mysql_get_client_info(void);char *		STDCALL mysql_get_host_info(MYSQL *mysql);unsigned int	STDCALL mysql_get_proto_info(MYSQL *mysql);MYSQL_RES *	STDCALL mysql_list_dbs(MYSQL *mysql,const char *wild);MYSQL_RES *	STDCALL mysql_list_tables(MYSQL *mysql,const char *wild);MYSQL_RES *	STDCALL mysql_list_fields(MYSQL *mysql, const char *table,					 const char *wild);MYSQL_RES *	STDCALL mysql_list_processes(MYSQL *mysql);MYSQL_RES *	STDCALL mysql_store_result(MYSQL *mysql);MYSQL_RES *	STDCALL mysql_use_result(MYSQL *mysql);void		STDCALL mysql_free_result(MYSQL_RES *result);void		STDCALL mysql_data_seek(MYSQL_RES *mysql,unsigned int offset);MYSQL_ROW_OFFSET STDCALL mysql_row_seek(MYSQL_RES *mysql, MYSQL_ROW_OFFSET);MYSQL_FIELD_OFFSET STDCALL mysql_field_seek(MYSQL_RES *mysql,					   MYSQL_FIELD_OFFSET offset);MYSQL_ROW	STDCALL mysql_fetch_row(MYSQL_RES *mysql);unsigned int *	STDCALL mysql_fetch_lengths(MYSQL_RES *mysql);MYSQL_FIELD *	STDCALL mysql_fetch_field(MYSQL_RES *handle);unsigned int	STDCALL mysql_escape_string(char *to,const char *from,					    unsigned int from_length);void		STDCALL mysql_debug(char *debug);/* new api functions */#define HAVE_MYSQL_REAL_CONNECT#ifdef	__cplusplus}#endif#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -