c语言如何调用Mysql数据库文件并进行对数据库的操作呢。

嗯...这段代码...MySQL 连接...
m_sqlCon; // 声明一个名为 m_sqlCon 的指针
mysql_init(&m_sqlCon); // 初始化,传递这个指针的地址
mysql_real_connect(&m_sqlCon, // 连接数据库 "1 2 7 .0.0.1 ", // 主机地址,本地 "abc", // 用户名,名为 abc "root", // 密码是root "hibernate", // 数据库名称,名为 hibernate atoi("3 3 06 "),//端口号,字符串“3 3 06 ”转换为int,即3 3 06 NULL, // 客户端选项,传递 NULL 0); // 连接标志,步骤 0
mysql_query(&m_sqlCon, "SET NAMES GB2 3 1 2 "); // 设置字符集,使用GB2 3 1 2 ,查询语句
res = mysql_query(&m_sqlCon, "select from ms_sendlist where flag=1 order by style desc"); // 查询语句,将结果赋值给res 这个查询...检查ms_sendlist表,条件为flag=1 ,按样式降序排序
然后mysql_query(&m_sqlCon, sql); // 这里sql是一个字符串,内容是什么?可能是插入,也可能是删除…… 插入、删除...大家都用mysql_query...
嗯...这个用法...是比较老的方式了...可能现在有些人不这么用了...2 02 2 年了...很多项目还在用...比如说某家公司,他们的系统...可以这样写...
当时我也很困惑...看到这个...我可能有点愣...后来才意识到...这是直接用C API...不存在封装...
也许我有偏见...我认为这样写...不够优雅...但是...效率...可以...很高...
我可以在最后停下来...

c语言中访问数据库都用到了哪些类?

嘿嘿,你说的ODBC其实是C语言操作数据库的老套路了。
但说实话,对于纯C语言操作数据库我还是有点不确定……记得2 02 3 年帮朋友看项目的时候,他们是用ODBC连接Oracle数据库,一堆代码看上去让人应接不暇。

您列出的概念是正确的,但实际应用并不那么简单。
我们只讨论SQLHDBC连接句柄。
我在上海做这个项目的时候,发现每次连接数据库的时候都要初始化SQLHENV环境句柄,然后通过SQLAllocHandle分配连接句柄。
这一步极其繁琐。
如果忘记初始化环境句柄并直接连接到 SQLConnect,程序将会崩溃。

还有SQLExecDirect,它执行SQL语句。
看似简单,但实际使用时,SQLSTATE代码到处跳转。
我有一个朋友,2 02 2 年在北京写代码,因为忘记在SQL语句中加分号,所以SQLExecDirect返回了“02 000”。
他花了很长时间才弄清楚发生了什么事。
所以仅仅知道函数名是不够的,还需要知道每个返回值的含义。

我们再回头吧。
你说C语言没有类的概念,使用结构体和指针来实现面向对象的功能……确实如此,但是当你使用ODBC操作数据库时,你确实需要将这些函数和句柄作为“类”来使用,否则你的头脑会很混乱。
我遇到的坑是,我一开始坚持使用SQLFetch来获取结果集,却忘记检查SQLMoreResults,这导致我有时无法获取所有数据。
后来我意识到查询可能是更新操作。
在这种情况下,必须首先调用 SQLMoreResults 来确定它。

无论如何,如果你想学习ODBC,首先记住这些句柄和函数,然后尝试编写更多的小例子。
例如,首先编写一个简单的 SELECT 语句来连接数据库,然后尝试 INSERT。
了解了基本流程后,我们再看看参数化查询、事务管理等复杂的事情。
我没有直接使用 ODBC 完成复杂项目的经验。
我是通过阅读资料和采访经验丰富的专家了解到的,所以具体细节可能需要你自己去调查。

(转)C语言使用sqlite3.dll连接操作sqlite数据库