如何用mysql提供的C API实现文件的存取? http://expert.csdn.net/Expert/FAQ/FAQ_Index.asp?id=71276 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 paul dubois 的mysql网络数据库指南就有(机械工业出版社)把源码贴出来,省得你查了.#include <windows.h>#include <stdio.h>#include <string.h>#include <mysql.h>void load_image (MYSQL *conn, FILE *f){ char query[1024*200], buf[1024*100], *p; unsigned long from_len; sprintf(query,"insert into blobtest (blobtest) values ( \'" ); p = query + strlen (query); while ((from_len = fread (buf, 1, sizeof (buf), f)) > 0) { if (p + (2*from_len) + 3 > query + sizeof (query)) { printf("image too big"); return ; } p += mysql_real_escape_string (conn, p, buf, from_len); } *p++ = '\''; *p++ = ')'; strcpy(p," where img_id=1"); mysql_real_query (conn, query, (unsigned long) (p- query));}void main (){ char *opt_host_name = "192.168.1.253"; char *opt_user_name = "root"; char *opt_password = NULL; unsigned int opt_port_num = 3306; char *opt_socket_name = NULL; char *opt_db_name = "test"; unsigned int opt_flags = 0; MYSQL *conn; FILE *f; conn = mysql_init (NULL); mysql_real_connect (conn, opt_host_name, opt_user_name, opt_password, opt_db_name, opt_port_num, opt_socket_name, opt_flags); if ((f = fopen ("c:/test1.JPG", "rb")) == NULL) { printf("file open eror!"); return ; } load_image (conn, f); fclose(f); mysql_close (conn); return;} 呵呵,最简单的办法SELECT Col_Blob FROM tA INTO DUMPFILE "C:/123.ZIP"如果使用 INTO DUMPFILE 代替 INTO OUTFILE,MySQL 将在文件中只写一行,没任何列或行端接和任何转义。如果你希望存储一个 blob 列到文件中,这是非常有用的。 当然最好是通过 流操作来实现 PHP连接不上数据库 mysql 表名不加单引号不能正常查询,插入,删除,等 mysql 在Windows下的数据文件目录中那里 高分求数据库访问标准的问题+散分 大伙mysql都有升级到mysql4.1以上了吗? SQL插入问题 我的MYSQL自从安装好以后从别的机器就连不上,但是再本机上就可以,另外用telnet登陆也可以连上,请高手进来看看。 在linux中java与mysql的问题,急呀! mysql 还原全备份后,如何确定从哪个log-bin日志哪部分接着还原? MySQL数据库实例 求助:我的mysql服务启动不了了。 in/not in 子选择的问题
#include <windows.h>
#include <stdio.h>
#include <string.h>
#include <mysql.h>
void load_image (MYSQL *conn, FILE *f)
{
char query[1024*200], buf[1024*100], *p;
unsigned long from_len; sprintf(query,"insert into blobtest (blobtest) values ( \'" );
p = query + strlen (query);
while ((from_len = fread (buf, 1, sizeof (buf), f)) > 0)
{
if (p + (2*from_len) + 3 > query + sizeof (query))
{
printf("image too big");
return ;
}
p += mysql_real_escape_string (conn, p, buf, from_len);
}
*p++ = '\'';
*p++ = ')';
strcpy(p," where img_id=1");
mysql_real_query (conn, query, (unsigned long) (p- query));
}void main ()
{
char *opt_host_name = "192.168.1.253";
char *opt_user_name = "root";
char *opt_password = NULL;
unsigned int opt_port_num = 3306;
char *opt_socket_name = NULL;
char *opt_db_name = "test";
unsigned int opt_flags = 0;
MYSQL *conn; FILE *f; conn = mysql_init (NULL); mysql_real_connect (conn, opt_host_name, opt_user_name, opt_password,
opt_db_name, opt_port_num, opt_socket_name, opt_flags);
if ((f = fopen ("c:/test1.JPG", "rb")) == NULL)
{
printf("file open eror!");
return ;
}
load_image (conn, f);
fclose(f); mysql_close (conn);
return;
}
最简单的办法SELECT Col_Blob FROM tA INTO DUMPFILE "C:/123.ZIP"
如果使用 INTO DUMPFILE 代替 INTO OUTFILE,MySQL 将在文件中只写一行,没任何列或行端接和任何转义。如果你希望存储一个 blob 列到文件中,这是非常有用的。 当然最好是通过 流操作来实现