亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? _mysql.c

?? python聯(lián)接mysql驅(qū)動 python聯(lián)接mysql驅(qū)動
?? C
?? 第 1 頁 / 共 5 頁
字號:
	check_server_init(NULL);	if (self && self->open)		len = mysql_real_escape_string(&(self->connection), out+1, in, size);	else		len = mysql_escape_string(out+1, in, size);#endif	*out = *(out+len+1) = '\'';	if (_PyString_Resize(&str, len+2) < 0) return NULL;	Py_DECREF(s);	return (str);}static PyObject *_mysql_NULL;static PyObject *_escape_item(	PyObject *item,	PyObject *d){	PyObject *quoted=NULL, *itemtype, *itemconv;	if (!(itemtype = PyObject_Type(item)))		goto error;	itemconv = PyObject_GetItem(d, itemtype);	Py_DECREF(itemtype);	if (!itemconv) {		PyErr_Clear();		itemconv = PyObject_GetItem(d,				 (PyObject *) &PyString_Type);	}	if (!itemconv) {		PyErr_SetString(PyExc_TypeError,				"no default type converter defined");		goto error;	}	quoted = PyObject_CallFunction(itemconv, "OO", item, d);	Py_DECREF(itemconv);error:	return quoted;}static char _mysql_escape__doc__[] ="escape(obj, dict) -- escape any special characters in object obj\n\using mapping dict to provide quoting functions for each type.\n\Returns a SQL literal string.";static PyObject *_mysql_escape(	PyObject *self,	PyObject *args){	PyObject *o=NULL, *d=NULL;	if (!PyArg_ParseTuple(args, "O|O:escape", &o, &d))		return NULL;	if (d) {		if (!PyMapping_Check(d)) {			PyErr_SetString(PyExc_TypeError,					"argument 2 must be a mapping");			return NULL;		}		return _escape_item(o, d);	} else {		if (!self) {			PyErr_SetString(PyExc_TypeError,					"argument 2 must be a mapping");			return NULL;		}		return _escape_item(o,			   ((_mysql_ConnectionObject *) self)->converter);	}}static char _mysql_escape_sequence__doc__[] ="escape_sequence(seq, dict) -- escape any special characters in sequence\n\seq using mapping dict to provide quoting functions for each type.\n\Returns a tuple of escaped items.";static PyObject *_mysql_escape_sequence(	PyObject *self,	PyObject *args){	PyObject *o=NULL, *d=NULL, *r=NULL, *item, *quoted; 	int i, n;	if (!PyArg_ParseTuple(args, "OO:escape_sequence", &o, &d))		goto error;	if (!PyMapping_Check(d)) {              PyErr_SetString(PyExc_TypeError,                              "argument 2 must be a mapping");              return NULL;        }	if ((n = PyObject_Length(o)) == -1) goto error;	if (!(r = PyTuple_New(n))) goto error;	for (i=0; i<n; i++) {		item = PySequence_GetItem(o, i);		if (!item) goto error;		quoted = _escape_item(item, d);		Py_DECREF(item);		if (!quoted) goto error;		PyTuple_SET_ITEM(r, i, quoted);	}	return r;  error:	Py_XDECREF(r);	return NULL;}static char _mysql_escape_dict__doc__[] ="escape_sequence(d, dict) -- escape any special characters in\n\dictionary d using mapping dict to provide quoting functions for each type.\n\Returns a dictionary of escaped items.";static PyObject *_mysql_escape_dict(	PyObject *self,	PyObject *args){	PyObject *o=NULL, *d=NULL, *r=NULL, *item, *quoted, *pkey; 	Py_ssize_t ppos = 0;	if (!PyArg_ParseTuple(args, "O!O:escape_dict", &PyDict_Type, &o, &d))		goto error;	if (!PyMapping_Check(d)) {              PyErr_SetString(PyExc_TypeError,                              "argument 2 must be a mapping");              return NULL;        }	if (!(r = PyDict_New())) goto error;	while (PyDict_Next(o, &ppos, &pkey, &item)) {		quoted = _escape_item(item, d);		if (!quoted) goto error;		if (PyDict_SetItem(r, pkey, quoted)==-1) goto error;		Py_DECREF(quoted);	}	return r;  error:	Py_XDECREF(r);	return NULL;}				static char _mysql_ResultObject_describe__doc__[] ="Returns the sequence of 7-tuples required by the DB-API for\n\the Cursor.description attribute.\n\";static PyObject *_mysql_ResultObject_describe(	_mysql_ResultObject *self,	PyObject *args){	PyObject *d;	MYSQL_FIELD *fields;	unsigned int i, n;	if (!PyArg_ParseTuple(args, "")) return NULL;	check_result_connection(self);	n = mysql_num_fields(self->result);	fields = mysql_fetch_fields(self->result);	if (!(d = PyTuple_New(n))) return NULL;	for (i=0; i<n; i++) {		PyObject *t;		t = Py_BuildValue("(siiiiii)",				  fields[i].name,				  (long) fields[i].type,				  (long) fields[i].max_length,				  (long) fields[i].length,				  (long) fields[i].length,				  (long) fields[i].decimals,				  (long) !(IS_NOT_NULL(fields[i].flags)));		if (!t) goto error;		PyTuple_SET_ITEM(d, i, t);	}	return d;  error:	Py_XDECREF(d);	return NULL;}	static char _mysql_ResultObject_field_flags__doc__[] ="Returns a tuple of field flags, one for each column in the result.\n\" ;static PyObject *_mysql_ResultObject_field_flags(	_mysql_ResultObject *self,	PyObject *args){	PyObject *d;	MYSQL_FIELD *fields;	unsigned int i, n;	if (!PyArg_ParseTuple(args, "")) return NULL;	check_result_connection(self);	n = mysql_num_fields(self->result);	fields = mysql_fetch_fields(self->result);	if (!(d = PyTuple_New(n))) return NULL;	for (i=0; i<n; i++) {		PyObject *f;		if (!(f = PyInt_FromLong((long)fields[i].flags))) goto error;		PyTuple_SET_ITEM(d, i, f);	}	return d;  error:	Py_XDECREF(d);	return NULL;}static PyObject *_mysql_field_to_python(	PyObject *converter,	char *rowitem,	unsigned long length){	PyObject *v;	if (rowitem) {		if (converter != Py_None)			v = PyObject_CallFunction(converter,						  "s#",						  rowitem,						  (int)length);		else			v = PyString_FromStringAndSize(rowitem,						       (int)length);		if (!v)			return NULL;	} else {		Py_INCREF(Py_None);		v = Py_None;	}	return v;}static PyObject *_mysql_row_to_tuple(	_mysql_ResultObject *self,	MYSQL_ROW row){	unsigned int n, i;	unsigned long *length;	PyObject *r, *c;	n = mysql_num_fields(self->result);	if (!(r = PyTuple_New(n))) return NULL;	length = mysql_fetch_lengths(self->result);	for (i=0; i<n; i++) {		PyObject *v;		c = PyTuple_GET_ITEM(self->converter, i);		v = _mysql_field_to_python(c, row[i], length[i]);		if (!v) goto error;		PyTuple_SET_ITEM(r, i, v);	}	return r;  error:	Py_XDECREF(r);	return NULL;}static PyObject *_mysql_row_to_dict(	_mysql_ResultObject *self,	MYSQL_ROW row){	unsigned int n, i;	unsigned long *length;	PyObject *r, *c;        MYSQL_FIELD *fields;	n = mysql_num_fields(self->result);	if (!(r = PyDict_New())) return NULL;	length = mysql_fetch_lengths(self->result);        fields = mysql_fetch_fields(self->result);	for (i=0; i<n; i++) {		PyObject *v;		c = PyTuple_GET_ITEM(self->converter, i);		v = _mysql_field_to_python(c, row[i], length[i]);		if (!v) goto error;		if (!PyMapping_HasKeyString(r, fields[i].name)) {			PyMapping_SetItemString(r, fields[i].name, v);		} else {			int len;			char buf[256];			strncpy(buf, fields[i].table, 256);			len = strlen(buf);			strncat(buf, ".", 256-len);			len = strlen(buf);			strncat(buf, fields[i].name, 256-len);			PyMapping_SetItemString(r, buf, v);		}		Py_DECREF(v);	}	return r;  error:	Py_XDECREF(r);	return NULL;}static PyObject *_mysql_row_to_dict_old(	_mysql_ResultObject *self,	MYSQL_ROW row){	unsigned int n, i;	unsigned long *length;	PyObject *r, *c;        MYSQL_FIELD *fields;	n = mysql_num_fields(self->result);	if (!(r = PyDict_New())) return NULL;	length = mysql_fetch_lengths(self->result);        fields = mysql_fetch_fields(self->result);	for (i=0; i<n; i++) {		PyObject *v;		c = PyTuple_GET_ITEM(self->converter, i);		v = _mysql_field_to_python(c, row[i], length[i]);		if (!v) goto error;		{			int len=0;			char buf[256]="";			if (strlen(fields[i].table)) {				strncpy(buf, fields[i].table, 256);				len = strlen(buf);				strncat(buf, ".", 256-len);				len = strlen(buf);			}			strncat(buf, fields[i].name, 256-len);			PyMapping_SetItemString(r, buf, v);		}		Py_DECREF(v);	}	return r;  error:	Py_XDECREF(r);	return NULL;}typedef PyObject *_PYFUNC(_mysql_ResultObject *, MYSQL_ROW);int_mysql__fetch_row(	_mysql_ResultObject *self,	PyObject **r,	int skiprows,	int maxrows,	_PYFUNC *convert_row){	unsigned int i;	MYSQL_ROW row;	for (i = skiprows; i<(skiprows+maxrows); i++) {		PyObject *v;		if (!self->use)			row = mysql_fetch_row(self->result);		else {			Py_BEGIN_ALLOW_THREADS;			row = mysql_fetch_row(self->result);			Py_END_ALLOW_THREADS;		}		if (!row && mysql_errno(&(((_mysql_ConnectionObject *)(self->conn))->connection))) {			_mysql_Exception((_mysql_ConnectionObject *)self->conn);			goto error;		}		if (!row) {			if (MyTuple_Resize(r, i, 0) == -1) goto error;			break;		}		v = convert_row(self, row);		if (!v) goto error;		PyTuple_SET_ITEM(*r, i, v);	}	return i-skiprows;  error:	return -1;}static char _mysql_ResultObject_fetch_row__doc__[] ="fetch_row([maxrows, how]) -- Fetches up to maxrows as a tuple.\n\The rows are formatted according to how:\n\\n\    0 -- tuples (default)\n\    1 -- dictionaries, key=column or table.column if duplicated\n\    2 -- dictionaries, key=table.column\n\";static PyObject *_mysql_ResultObject_fetch_row(	_mysql_ResultObject *self,	PyObject *args,	PyObject *kwargs){	typedef PyObject *_PYFUNC(_mysql_ResultObject *, MYSQL_ROW);	static char *kwlist[] = { "maxrows", "how", NULL };	static _PYFUNC *row_converters[] =	{		_mysql_row_to_tuple,		_mysql_row_to_dict,		_mysql_row_to_dict_old	};	_PYFUNC *convert_row;	unsigned int maxrows=1, how=0, skiprows=0, rowsadded;	PyObject *r=NULL;	if (!PyArg_ParseTupleAndKeywords(args, kwargs, "|ii:fetch_row", kwlist,					 &maxrows, &how))		return NULL;	check_result_connection(self);	if (how < 0 || how >= sizeof(row_converters)) {		PyErr_SetString(PyExc_ValueError, "how out of range");		return NULL;	}	convert_row = row_converters[how];	if (maxrows) {		if (!(r = PyTuple_New(maxrows))) goto error;		rowsadded = _mysql__fetch_row(self, &r, skiprows, maxrows, 				convert_row);		if (rowsadded == -1) goto error;	} else {		if (self->use) {			maxrows = 1000;			if (!(r = PyTuple_New(maxrows))) goto error;			while (1) {				rowsadded = _mysql__fetch_row(self, &r, skiprows,						maxrows, convert_row);				if (rowsadded == -1) goto error;				skiprows += rowsadded;				if (rowsadded < maxrows) break;				if (MyTuple_Resize(&r, skiprows+maxrows, 0) == -1)				        goto error;			}		} else {			/* XXX if overflow, maxrows<0? */			maxrows = (int) mysql_num_rows(self->result);			if (!(r = PyTuple_New(maxrows))) goto error;			rowsadded = _mysql__fetch_row(self, &r, 0,					maxrows, convert_row);			if (rowsadded == -1) goto error;		}	}	return r;  error:	Py_XDECREF(r);	return NULL;}#if MYSQL_VERSION_ID >= 32303static char _mysql_ConnectionObject_change_user__doc__[] ="Changes the user and causes the database specified by db to\n\become the default (current) database on the connection\n\specified by mysql. In subsequent queries, this database is\n\the default for table references that do not include an\n\explicit database specifier.\n\\n\This function was introduced in MySQL Version 3.23.3.\n\\n\Fails unless the connected user can be authenticated or if he\n\doesn't have permission to use the database. In this case the\n\user and database are not changed.\n\\n\The db parameter may be set to None if you don't want to have\n\a default database.\n\";static PyObject *_mysql_ConnectionObject_change_user(	_mysql_ConnectionObject *self,	PyObject *args,	PyObject *kwargs){	char *user, *pwd=NULL, *db=NULL;	int r;        static char *kwlist[] = { "user", "passwd", "db", NULL } ;	if (!PyArg_ParseTupleAndKeywords(args, kwargs, "s|ss:change_user",					 kwlist, &user, &pwd, &db))		return NULL;	check_connection(self);	Py_BEGIN_ALLOW_THREADS		r = mysql_change_user(&(self->connection), user, pwd, db);	Py_END_ALLOW_THREADS	if (r) 	return _mysql_Exception(self);	Py_INCREF(Py_None);	return Py_None;}#endifstatic char _mysql_ConnectionObject_character_set_name__doc__[] ="Returns the default character set for the current connection.\n\Non-standard.\n\";static PyObject *_mysql_ConnectionObject_character_set_name(	_mysql_ConnectionObject *self,	PyObject *args){	const char *s;	if (!PyArg_ParseTuple(args, "")) return NULL;	check_connection(self);#if MYSQL_VERSION_ID >= 32321	s = mysql_character_set_name(&(self->connection));#else	s = "latin1";#endif	return PyString_FromString(s);}#if MYSQL_VERSION_ID >= 50007static char _mysql_ConnectionObject_set_character_set__doc__[] ="Sets the default character set for the current connection.\n\Non-standard.\n\";static PyObject *_mysql_ConnectionObject_set_character_set(	_mysql_ConnectionObject *self,	PyObject *args){

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产欧美精品区一区二区三区| 国产精品小仙女| 亚洲欧洲日韩女同| 日本一区二区综合亚洲| 精品国产乱码久久久久久浪潮| 欧美久久久久久久久| 欧美日韩一二区| 欧美猛男gaygay网站| 欧美日韩精品三区| 欧美成人性福生活免费看| 精品精品欲导航| 久久久久亚洲蜜桃| 国产精品久久毛片| 亚洲综合小说图片| 婷婷丁香激情综合| 精品一区二区av| 国产一区二区三区免费在线观看| 国产成人免费av在线| 一本大道av伊人久久综合| 欧美性欧美巨大黑白大战| 欧美一区二区三区四区高清| 欧美精品一区二区在线播放 | 亚洲视频电影在线| 亚洲美腿欧美偷拍| 天天亚洲美女在线视频| 国产原创一区二区| 色婷婷国产精品| 欧美一级日韩不卡播放免费| 久久蜜臀中文字幕| 亚洲亚洲人成综合网络| 精品午夜久久福利影院| 91欧美一区二区| 欧美成人精精品一区二区频| 国产精品福利一区二区三区| 亚洲chinese男男1069| 国产精品一二三四五| 91久久精品日日躁夜夜躁欧美| 欧美一区二区在线不卡| 国产精品免费视频一区| 日韩精品色哟哟| 成人精品高清在线| 日韩三级伦理片妻子的秘密按摩| 国产免费观看久久| 卡一卡二国产精品| 日本大香伊一区二区三区| 欧美精品一区二区三区蜜桃视频| 伊人夜夜躁av伊人久久| 国产不卡视频一区| 欧美成人bangbros| 亚洲一区二区三区四区在线免费观看 | 精品国产伦一区二区三区免费| 亚洲视频综合在线| 国产精品一区二区x88av| 欧美日韩夫妻久久| 一区二区三区蜜桃网| 不卡区在线中文字幕| 26uuu国产一区二区三区| 日韩精品视频网| 欧美视频在线不卡| 一区二区三区免费看视频| a在线欧美一区| 国产视频在线观看一区二区三区| 日韩高清不卡一区二区三区| 在线看不卡av| 一区二区三区日韩欧美精品| 91尤物视频在线观看| 国产精品日韩成人| 国产成人精品一区二区三区网站观看| 欧美一区二区三区啪啪| 亚洲丶国产丶欧美一区二区三区| 色婷婷久久综合| 亚洲另类春色国产| 一本大道av伊人久久综合| 一区二区三区四区av| 一本久久精品一区二区| 亚洲精品视频在线观看网站| 91影院在线免费观看| 亚洲欧美精品午睡沙发| 一本久道中文字幕精品亚洲嫩| 一区在线播放视频| 一本大道久久精品懂色aⅴ| 亚洲一卡二卡三卡四卡五卡| 欧美视频一区二区三区| 天天爽夜夜爽夜夜爽精品视频 | 久久精品国内一区二区三区| 欧美一区二区福利视频| 久草热8精品视频在线观看| 2020国产精品久久精品美国| 国产九九视频一区二区三区| 欧美激情一区二区| 色呦呦日韩精品| 五月婷婷激情综合网| 欧美zozozo| 成人久久久精品乱码一区二区三区| 中文一区二区在线观看| 在线免费观看一区| 六月丁香婷婷色狠狠久久| 亚洲国产精品精华液ab| 91福利国产成人精品照片| 日本在线不卡一区| 中文av一区二区| 欧美日韩大陆在线| 国产伦精品一区二区三区在线观看| 中文字幕乱码久久午夜不卡 | 国产一区二区三区免费在线观看| 国产精品理论片在线观看| 欧美午夜精品久久久久久超碰 | 久久久无码精品亚洲日韩按摩| av福利精品导航| 日韩福利视频网| 国产精品国产自产拍高清av王其| 欧美影院精品一区| 国产激情一区二区三区四区| 亚洲曰韩产成在线| 国产区在线观看成人精品| 欧美午夜精品一区二区三区 | 91福利社在线观看| 国产伦精品一区二区三区在线观看| 亚洲人成在线观看一区二区| 日韩美女天天操| 欧美视频精品在线观看| 国产成人高清视频| 人人超碰91尤物精品国产| 亚洲色图在线看| 国产欧美中文在线| 日韩欧美不卡一区| 欧美在线观看视频一区二区 | 日本一区二区电影| 日韩限制级电影在线观看| 色综合天天综合网国产成人综合天| 奇米综合一区二区三区精品视频| 亚洲乱码精品一二三四区日韩在线| 精品捆绑美女sm三区| 欧美片在线播放| 91免费观看国产| 北岛玲一区二区三区四区| 国产一区二区三区四区五区美女| 日韩国产欧美在线视频| 亚洲一区二区三区四区在线免费观看 | a级高清视频欧美日韩| 黄色日韩网站视频| 另类综合日韩欧美亚洲| 琪琪一区二区三区| 美国一区二区三区在线播放| 丝袜亚洲精品中文字幕一区| 一级日本不卡的影视| 亚洲女爱视频在线| 亚洲色图在线播放| 亚洲免费电影在线| 亚洲精品视频一区| 樱桃视频在线观看一区| 亚洲综合色噜噜狠狠| 亚洲香肠在线观看| 亚洲电影在线播放| 婷婷久久综合九色综合绿巨人| 亚洲图片欧美综合| 日产国产欧美视频一区精品| 免费日韩伦理电影| 男人的天堂久久精品| 老鸭窝一区二区久久精品| 久久综合综合久久综合| 国产福利电影一区二区三区| 国产精品主播直播| 99国产精品久| 欧美在线观看视频在线| 欧美精品乱码久久久久久按摩| 欧美一区二区三区免费观看视频 | 中文文精品字幕一区二区| 成人欧美一区二区三区黑人麻豆| 亚洲欧美偷拍卡通变态| 亚洲不卡av一区二区三区| 免费不卡在线观看| 国产精品69久久久久水密桃| 成人一区二区三区| 欧洲av一区二区嗯嗯嗯啊| 日韩欧美国产一区二区在线播放| 久久久91精品国产一区二区精品| 国产精品网站在线观看| 亚洲制服丝袜在线| 国产精品一区二区免费不卡| 91一区二区三区在线观看| 欧美精品久久天天躁| 国产欧美一区二区三区鸳鸯浴 | 欧美不卡在线视频| 中文字幕av不卡| 日本在线不卡视频一二三区| 成人av资源网站| 日韩欧美你懂的| 亚洲天堂精品视频| 久久国产人妖系列| 91污片在线观看| 精品久久久久久久人人人人传媒| 国产精品传媒在线| 久久精品国产成人一区二区三区| 成人av片在线观看| 欧美mv和日韩mv国产网站| 亚洲欧美一区二区久久 | 亚洲国产视频a| 国产成人啪免费观看软件| 欧美日韩五月天|