vc 操作 MySQL 的命令

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vc 操作 MySQL 的命令相关的知识,希望对你有一定的参考价值。

我用mfc连接mysql作课程设计,已经成功连接,可不知道对MySQL数据库进行操作的命令的书写格式(如:如何进行搜索,搜索后怎样把值付给变量进行输出)。麻烦各位高手指教一下。
肯定不能直接写sql语句啊,比如strSQL.Format("insert into mytable(username,visitelist,remark) values(\'%s\',\'%s\',\'%s\')", strUsername,strList,strRemark);需要一些函数形式的吧。我就是不知道像是mysql_real_connect()这些函数怎么用想问问。告诉我去哪找也行啊。
能先给我格式再给例子吗?有些例子我还是能自己搜到的,只是格式很乱,我又不知道有什么区别。

mysql_affected_rows()返回被最新的UPDATE, DELETE或INSERT查询影响的行数。
mysql_close() 关闭一个服务器连接。
mysql_connect() 连接一个MySQL服务器。该函数不推荐;使用mysql_real_connect()代替。
mysql_change_user() 改变在一个打开的连接上的用户和数据库。 mysql_create_db() 创建一个数据库。该函数不推荐;而使用SQL命令CREATE DATABASE。
mysql_data_seek() 在一个查询结果集合中搜寻一任意行。 mysql_debug() 用给定字符串做一个DBUG_PUSH。
mysql_drop_db() 抛弃一个数据库。该函数不推荐;而使用SQL命令DROP DATABASE。
mysql_dump_debug_info() 让服务器将调试信息写入日志文件。 mysql_eof() 确定是否已经读到一个结果集合的最后一行。这功能被反对; mysql_errno()或mysql_error()可以相反被使用。
mysql_errno() 返回最近被调用的MySQL函数的出错编号。 mysql_error() 返回最近被调用的MySQL函数的出错消息。 mysql_escape_string() 用在SQL语句中的字符串的转义特殊字符。
mysql_fetch_field() 返回下一个表字段的类型。 mysql_fetch_field_direct () 返回一个表字段的类型,给出一个字段编号。
mysql_fetch_fields() 返回一个所有字段结构的数组。 mysql_fetch_lengths() 返回当前行中所有列的长度。 mysql_fetch_row() 从结果集合中取得下一行。
mysql_field_seek() 把列光标放在一个指定的列上。 mysql_field_count() 返回最近查询的结果列的数量。 mysql_field_tell() 返回用于最后一个mysql_fetch_field()的字段光标的位置。
mysql_free_result() 释放一个结果集合使用的内存。 mysql_get_client_info() 返回客户版本信息。 mysql_get_host_info() 返回一个描述连接的字符串。 mysql_get_proto_info() 返回连接使用的协议版本。 mysql_get_server_info() 返回服务器版本号。
mysql_info() 返回关于最近执行得查询的信息。
mysql_init() 获得或初始化一个MYSQL结构。
mysql_insert_id() 返回有前一个查询为一个AUTO_INCREMENT列生成的ID。
mysql_kill() 杀死一个给定的线程。
mysql_list_dbs() 返回匹配一个简单的正则表达式的数据库名。 mysql_list_fields() 返回匹配一个简单的正则表达式的列名。 mysql_list_processes() 返回当前服务器线程的一张表。 mysql_list_tables() 返回匹配一个简单的正则表达式的表名。 mysql_num_fields() 返回一个结果集合重的列的数量。 mysql_num_rows() 返回一个结果集合中的行的数量。 mysql_options() 设置对mysql_connect()的连接选项。 mysql_ping() 检查对服务器的连接是否正在工作,必要时重新连接。
mysql_query() 执行指定为一个空结尾的字符串的SQL查询。 mysql_real_connect() 连接一个MySQL服务器。
mysql_real_query() 执行指定为带计数的字符串的SQL查询。
mysql_reload() 告诉服务器重装授权表。
mysql_row_seek() 搜索在结果集合中的行,使用从mysql_row_tell()返回的值。
mysql_row_tell() 返回行光标位置。
mysql_select_db() 连接一个数据库。
mysql_shutdown() 关掉数据库服务器。
mysql_stat() 返回作为字符串的服务器状态。
mysql_store_result() 检索一个完整的结果集合给客户。
mysql_thread_id() 返回当前线程的ID。
mysql_use_result() 初始化一个一行一行地结果集合的检索。

http://dev.mysql.com/doc/refman/5.1/zh/apis.html#c-api-datatypes
参考技术A #include <afxdb.h>

/* 连接数据库 */
CDatabase db;
BOOL bRtn;
try
bRtn = db.OpenEx("DSN=数据源名;UID=sa", CDatabase::noOdbcDialog);
catch (CDBException *pDBEx)
pDBEx->ReportError();
catch (CMemoryException *pMemEx)
pMemEx->ReportError();

if (!bRtn)
printf("连接数据库失败!");

/* 2、生成INSERT语句,赋给sql,例如: */
sql = "insert into student_table (s_sID, s_sName, s_sAge) values (‘001’, ‘ZhangSan’, 20);" ;

/* 3、往数据库中添加纪录 */
try
db.ExecuteSQL(sql);
catch (CDBException *pDBEx)
pDBEx->ReportError();


/* 4、关闭数据库 */
db.Close();
参考技术B 先找到你用到的数据库 use ***;
查找其下所有的表 show tables;
往后的语句都是sql语句,通用的,不用再说了吧!

以上是关于vc 操作 MySQL 的命令的主要内容,如果未能解决你的问题,请参考以下文章

VC++命令行操作

使用vc6操作mysql,表为utf8编码,insert中文,如何解决乱码?

C++操作mySql数据库

mysql查看版本号

如何用VC++ 连接 Mysql数据库

MySQL的登录和退出