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

📄 _mysql.c

📁 python联接mysql驱动 python联接mysql驱动
💻 C
📖 第 1 页 / 共 5 页
字号:
     _mysql_ResultObject *self,     PyObject *args){	unsigned int row;	if (!PyArg_ParseTuple(args, "i:data_seek", &row)) return NULL;	check_result_connection(self);	mysql_data_seek(self->result, row);	Py_INCREF(Py_None);	return Py_None;}static char _mysql_ResultObject_row_seek__doc__[] ="row_seek(n) -- seek by offset n rows of result set";static PyObject *_mysql_ResultObject_row_seek(     _mysql_ResultObject *self,     PyObject *args){	int offset;        MYSQL_ROW_OFFSET r;	if (!PyArg_ParseTuple(args, "i:row_seek", &offset)) return NULL;	check_result_connection(self);	if (self->use) {		PyErr_SetString(_mysql_ProgrammingError,				"cannot be used with connection.use_result()");		return NULL;	}	r = mysql_row_tell(self->result);	mysql_row_seek(self->result, r+offset);	Py_INCREF(Py_None);	return Py_None;}static char _mysql_ResultObject_row_tell__doc__[] ="row_tell() -- return the current row number of the result set.";static PyObject *_mysql_ResultObject_row_tell(	_mysql_ResultObject *self,	PyObject *args){	MYSQL_ROW_OFFSET r;	if (!PyArg_ParseTuple(args, "")) return NULL;	check_result_connection(self);	if (self->use) {		PyErr_SetString(_mysql_ProgrammingError,				"cannot be used with connection.use_result()");		return NULL;	}	r = mysql_row_tell(self->result);	return PyInt_FromLong(r-self->result->data->data);}static void_mysql_ResultObject_dealloc(	_mysql_ResultObject *self){	PyObject_GC_UnTrack((PyObject *)self);	mysql_free_result(self->result);	_mysql_ResultObject_clear(self);	MyFree(self);}static PyObject *_mysql_ResultObject_repr(	_mysql_ResultObject *self){	char buf[300];	sprintf(buf, "<_mysql.result object at %lx>",		(long)self);	return PyString_FromString(buf);}static PyMethodDef _mysql_ConnectionObject_methods[] = {	{		"affected_rows",		(PyCFunction)_mysql_ConnectionObject_affected_rows,		METH_VARARGS,		_mysql_ConnectionObject_affected_rows__doc__	},	{		"autocommit",		(PyCFunction)_mysql_ConnectionObject_autocommit,		METH_VARARGS,		_mysql_ConnectionObject_autocommit__doc__	},	{		"commit",		(PyCFunction)_mysql_ConnectionObject_commit,		METH_VARARGS,		_mysql_ConnectionObject_commit__doc__	},	{		"rollback",		(PyCFunction)_mysql_ConnectionObject_rollback,		METH_VARARGS,		_mysql_ConnectionObject_rollback__doc__	},	{		"next_result",		(PyCFunction)_mysql_ConnectionObject_next_result,		METH_VARARGS,		_mysql_ConnectionObject_next_result__doc__	},#if MYSQL_VERSION_ID >= 40100	{		"set_server_option",		(PyCFunction)_mysql_ConnectionObject_set_server_option,		METH_VARARGS,		_mysql_ConnectionObject_set_server_option__doc__	},	{		"sqlstate",		(PyCFunction)_mysql_ConnectionObject_sqlstate,		METH_VARARGS,		_mysql_ConnectionObject_sqlstate__doc__	},	{		"warning_count",		(PyCFunction)_mysql_ConnectionObject_warning_count,		METH_VARARGS,		_mysql_ConnectionObject_warning_count__doc__	},#endif#if MYSQL_VERSION_ID >= 32303	{		"change_user",		(PyCFunction)_mysql_ConnectionObject_change_user,		METH_VARARGS | METH_KEYWORDS,		_mysql_ConnectionObject_change_user__doc__	},#endif	{		"character_set_name",		(PyCFunction)_mysql_ConnectionObject_character_set_name,		METH_VARARGS,		_mysql_ConnectionObject_character_set_name__doc__	},#if MYSQL_VERSION_ID >= 50007	{		"set_character_set",		(PyCFunction)_mysql_ConnectionObject_set_character_set,		METH_VARARGS,		_mysql_ConnectionObject_set_character_set__doc__	},#endif#if MYSQL_VERSION_ID >= 50010	{		"get_character_set_info",		(PyCFunction)_mysql_ConnectionObject_get_character_set_info,		METH_VARARGS,		_mysql_ConnectionObject_get_character_set_info__doc__	},#endif	{		"close",		(PyCFunction)_mysql_ConnectionObject_close,		METH_VARARGS,		_mysql_ConnectionObject_close__doc__	},	{		"dump_debug_info",		(PyCFunction)_mysql_ConnectionObject_dump_debug_info,		METH_VARARGS,		_mysql_ConnectionObject_dump_debug_info__doc__	},	{		"escape",		(PyCFunction)_mysql_escape,		METH_VARARGS,		_mysql_escape__doc__	},	{		"escape_string",		(PyCFunction)_mysql_escape_string,		METH_VARARGS,		_mysql_escape_string__doc__	},	{		"error",		(PyCFunction)_mysql_ConnectionObject_error,		METH_VARARGS,		_mysql_ConnectionObject_error__doc__	},	{		"errno",		(PyCFunction)_mysql_ConnectionObject_errno,		METH_VARARGS,		_mysql_ConnectionObject_errno__doc__	},	{		"field_count",		(PyCFunction)_mysql_ConnectionObject_field_count,		METH_VARARGS,		_mysql_ConnectionObject_field_count__doc__	}, 	{		"get_host_info",		(PyCFunction)_mysql_ConnectionObject_get_host_info,		METH_VARARGS,		_mysql_ConnectionObject_get_host_info__doc__	},	{		"get_proto_info",		(PyCFunction)_mysql_ConnectionObject_get_proto_info,		METH_VARARGS,		_mysql_ConnectionObject_get_proto_info__doc__	},	{		"get_server_info",		(PyCFunction)_mysql_ConnectionObject_get_server_info,		METH_VARARGS,		_mysql_ConnectionObject_get_server_info__doc__	},	{		"info",		(PyCFunction)_mysql_ConnectionObject_info,		METH_VARARGS,		_mysql_ConnectionObject_info__doc__	},	{		"insert_id",		(PyCFunction)_mysql_ConnectionObject_insert_id,		METH_VARARGS,		_mysql_ConnectionObject_insert_id__doc__	},	{		"kill",		(PyCFunction)_mysql_ConnectionObject_kill,		METH_VARARGS,		_mysql_ConnectionObject_kill__doc__	},	{		"ping",		(PyCFunction)_mysql_ConnectionObject_ping,		METH_VARARGS,		_mysql_ConnectionObject_ping__doc__	},	{		"query",		(PyCFunction)_mysql_ConnectionObject_query,		METH_VARARGS,		_mysql_ConnectionObject_query__doc__	},	{		"select_db",		(PyCFunction)_mysql_ConnectionObject_select_db,		METH_VARARGS,		_mysql_ConnectionObject_select_db__doc__	},	{		"shutdown",		(PyCFunction)_mysql_ConnectionObject_shutdown,		METH_VARARGS,		_mysql_ConnectionObject_shutdown__doc__	},	{		"stat",		(PyCFunction)_mysql_ConnectionObject_stat,		METH_VARARGS,		_mysql_ConnectionObject_stat__doc__	},	{		"store_result",		(PyCFunction)_mysql_ConnectionObject_store_result,		METH_VARARGS,		_mysql_ConnectionObject_store_result__doc__	},	{		"string_literal",		(PyCFunction)_mysql_string_literal,		METH_VARARGS,		_mysql_string_literal__doc__},	{		"thread_id",		(PyCFunction)_mysql_ConnectionObject_thread_id,		METH_VARARGS,		_mysql_ConnectionObject_thread_id__doc__	},	{		"use_result",		(PyCFunction)_mysql_ConnectionObject_use_result,		METH_VARARGS,		_mysql_ConnectionObject_use_result__doc__	},	{NULL,              NULL} /* sentinel */};static MyMemberlist(_mysql_ConnectionObject_memberlist)[] = {	MyMember(		"open",		T_INT,		offsetof(_mysql_ConnectionObject,open),		RO,		"True if connection is open"		),	MyMember(		"converter",		T_OBJECT,		offsetof(_mysql_ConnectionObject,converter),		0,		"Type conversion mapping"		),	MyMember(		"server_capabilities",		T_UINT,		offsetof(_mysql_ConnectionObject,connection.server_capabilities),		RO,		"Capabilites of server; consult MySQLdb.constants.CLIENT"		),	MyMember(		 "port",		 T_UINT,		 offsetof(_mysql_ConnectionObject,connection.port),		 RO,		 "TCP/IP port of the server connection"		 ),	MyMember(		 "client_flag",		 T_UINT,		 RO,		 offsetof(_mysql_ConnectionObject,connection.client_flag),		 "Client flags; refer to MySQLdb.constants.CLIENT"		 ),	{NULL} /* Sentinel */};static PyMethodDef _mysql_ResultObject_methods[] = {	{		"data_seek",		(PyCFunction)_mysql_ResultObject_data_seek,		METH_VARARGS,		_mysql_ResultObject_data_seek__doc__	},	{		"row_seek",		(PyCFunction)_mysql_ResultObject_row_seek,		METH_VARARGS,		_mysql_ResultObject_row_seek__doc__	},	{		"row_tell",		(PyCFunction)_mysql_ResultObject_row_tell,		METH_VARARGS,		_mysql_ResultObject_row_tell__doc__	},	{		"describe",		(PyCFunction)_mysql_ResultObject_describe,		METH_VARARGS,		_mysql_ResultObject_describe__doc__	},	{		"fetch_row",		(PyCFunction)_mysql_ResultObject_fetch_row,		METH_VARARGS | METH_KEYWORDS,		_mysql_ResultObject_fetch_row__doc__	},	{		"field_flags",		(PyCFunction)_mysql_ResultObject_field_flags,		METH_VARARGS,		_mysql_ResultObject_field_flags__doc__	},	{		"num_fields",		(PyCFunction)_mysql_ResultObject_num_fields,		METH_VARARGS,		_mysql_ResultObject_num_fields__doc__	},	{		"num_rows",		(PyCFunction)_mysql_ResultObject_num_rows,		METH_VARARGS,		_mysql_ResultObject_num_rows__doc__	},	{NULL,              NULL} /* sentinel */};static MyMemberlist(_mysql_ResultObject_memberlist)[] = {	MyMember(		"converter",		T_OBJECT,		offsetof(_mysql_ResultObject,converter),		RO,		"Type conversion mapping"		),	{NULL} /* Sentinel */};                                                                        static PyObject *_mysql_ConnectionObject_getattr(	_mysql_ConnectionObject *self,	char *name){	PyObject *res;	res = Py_FindMethod(_mysql_ConnectionObject_methods, (PyObject *)self, name);	if (res != NULL)		return res;	PyErr_Clear();	if (strcmp(name, "closed") == 0)		return PyInt_FromLong((long)!(self->open));#if PY_VERSION_HEX < 0x02020000	return PyMember_Get((char *)self, _mysql_ConnectionObject_memberlist, name);#else	{		MyMemberlist(*l);		for (l = _mysql_ConnectionObject_memberlist; l->name != NULL; l++) {			if (strcmp(l->name, name) == 0)				return PyMember_GetOne((char *)self, l);		}		PyErr_SetString(PyExc_AttributeError, name);		return NULL;	}#endif}static PyObject *_mysql_ResultObject_getattr(	_mysql_ResultObject *self,	char *name){	PyObject *res;	res = Py_FindMethod(_mysql_ResultObject_methods, (PyObject *)self, name);	if (res != NULL)		return res;	PyErr_Clear();#if PY_VERSION_HEX < 0x02020000	return PyMember_Get((char *)self, _mysql_ResultObject_memberlist, name);#else	{		MyMemberlist(*l);		for (l = _mysql_ResultObject_memberlist; l->name != NULL; l++) {			if (strcmp(l->name, name) == 0)				return PyMember_GetOne((char *)self, l);		}		PyErr_SetString(PyExc_AttributeError, name);		return NULL;	}#endif}static int_mysql_ConnectionObject_setattr(	_mysql_ConnectionObject *self,	char *name,	PyObject *v){	if (v == NULL) {		PyErr_SetString(PyExc_AttributeError,				"can't delete connection attributes");		return -1;	}#if PY_VERSION_HEX < 0x02020000	return PyMember_Set((char *)self, _mysql_ConnectionObject_memberlist, name, v);#else        {		MyMemberlist(*l);		for (l = _mysql_ConnectionObject_memberlist; l->name != NULL; l++)			if (strcmp(l->name, name) == 0)				return PyMember_SetOne((char *)self, l, v);	}        PyErr_SetString(PyExc_AttributeError, name);        return -1;#endif}static int_mysql_ResultObject_setattr(	_mysql_ResultObject *self,	char *name,	PyObject *v){	if (v == NULL) {		PyErr_SetString(PyExc_AttributeError,				"can't delete connection attributes");		return -1;	}#if PY_VERSION_HEX < 0x02020000	return PyMember_Set((char *)self, _mysql_ResultObject_memberlist, name, v);#else        {		MyMemberlist(*l);		for (l = _mysql_ResultObject_memberlist; l->name != NULL; l++)			if (strcmp(l->name, name) == 0)				return PyMember_SetOne((char *)self, l, v);	}        PyErr_SetString(PyExc_AttributeError, name);        return -1;#endif}PyTypeObject _mysql_ConnectionObject_Type = {	PyObject_HEAD_INIT(NULL)	0,	"_mysql.connection", /* (char *)tp_name For printing */	sizeof(_mysql_ConnectionObject),	0,	(destructor)_mysql_ConnectionObject_dealloc, /* tp_dealloc */	0, /*tp_print*/	(getattrfunc)_mysql_ConnectionObject_getattr, /* tp_getattr */	(setattrfunc)_mysql_ConnectionObject_setattr, /* tp_setattr */	0, /*tp_compare*/	(reprfunc)_mysql_ConnectionObject_repr, /* tp_repr */		/* Method suites for standard classes */		0, /* (PyNumberMethods *) tp_as_number */	0, /* (PySequenceMethods 

⌨️ 快捷键说明

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