用Dev-CPP来测试MySQL的C API程序,执行到第三步,不行,请大虾指教!谢谢!

明月登楼 2005-08-31 10:23:14
/*
Name: MySQLClientTest
Author: Kip Warner (kip@zero47.com)
Date: 24/11/03 13:15
Description: Example to show usage of MySQL databases from client end.
I did not have much time. Sorry...
*/

// Includes...
#include <windows.h>
#include <MySQL/mysql.h>
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>

// Database name...
char g_szHost[] = "localhost";
UINT g_unPort = MYSQL_PORT;
char g_szUserName[] = "root";
char g_szPassword[] = "caoxin";
char g_szDatabase[] = "mydata";
char g_szSQLStatement[] = "SELECT * FROM `yuangong` WHERE 1";

// Entry point...
int main(int nArguments, char *pszArguments[])
{
// Variables...
MYSQL *myDatabase = NULL;
MYSQL_RES *myResult = NULL;
MYSQL_FIELD *myField = NULL;
MYSQL_ROW myRow = NULL;
UINT unRecords = 0;
UINT unFields = 0;
UINT unIndex = 0;
UINT unFieldIndex = 0;

// Initialize MySQL...
myDatabase = mysql_init(NULL);
int temp=0;
// Failed...
if(!myDatabase)
{
// Alert user...
printf("] Error: Unable to initialize MySQL API...\n");

// Cleanup, abort, terminate...
mysql_close(myDatabase);
getch();
return 0;
}

// Connect to server and check for error...
if(mysql_real_connect(myDatabase, g_szHost, g_szUserName, g_szPassword,
NULL, g_unPort, NULL, 0) != 0)
{
// Alert user...
printf("] Error: Unable to connect to server...\n");

// Cleanup, abort, terminate...
mysql_close(myDatabase);
getch();
return 0;
}

// Select database in server and check for error...
if((temp=mysql_select_db(myDatabase, g_szDatabase)) != 0) //执行到此步就行了,就提出如下的错误,请大虾赐教!
{
// Alert user...
printf("] Error: Unable to select *%d* database...\n",temp);

// Cleanup, abort, terminate...
mysql_close(myDatabase);
getch();
return 0;
}

// Query database and check for error...
if(mysql_query(myDatabase, g_szSQLStatement) != 0)
{
// Alert user...
printf("] Error: Unable to execute query...\n");

// Cleanup, abort, terminate...
mysql_close(myDatabase);
getch();
return 0;
}

// Retrieve query result from server...
myResult = mysql_store_result(myDatabase);

// Failed...
if(!myResult)
{
// Alert user...
printf("] Error: Unable to retrieve result...\n");

// Cleanup, abort, terminate...
mysql_close(myDatabase);
getch();
return 0;
}

// How many records were returned in the result set?

// Calculate...
unRecords = mysql_num_rows(myResult);

// Alert user...
printf("] Query: %d records found...\n", unRecords);

// How many fields are present in a record?

// Calculate...
unFields = mysql_num_fields(myResult);

// Alert user...
printf("] Query: There are %d fields in each record...", unFields);

// Output records...
for(unIndex = 0; unIndex < unRecords; unIndex++)
{
// Fetch row from results...
myRow = mysql_fetch_row(myResult);

// Fetch fields from row...
myField = mysql_fetch_fields(myResult);

// Show record...
printf("] Record: %d / %d\n", unIndex, unRecords);

// Output all fields in this row...
for(unFieldIndex = 0; unFieldIndex < unFields; unFieldIndex++)
{
// Output...
printf("\t%s", myField[unFieldIndex].name);
}
}

// Free result...
mysql_free_result(myResult);

// Close server connection...
mysql_close(myDatabase);
myDatabase = NULL;

// Alert user, exit...
printf("] Done, press any key to exit...\n");
getch();
return 0;
}
...全文
187 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhujiujun 2005-11-27
  • 打赏
  • 举报
回复
楼主,能不能把正确的结果贴出来啊。我也准备做这方面的东西~~~
谢谢!
Jagen在路上 2005-09-25
  • 打赏
  • 举报
回复
大小写问题吧,哈哈,我来接分的。
foochow 2005-09-24
  • 打赏
  • 举报
回复
JFJFJF,多给偶点啊,要升级了,嘿嘿
fiftymetre 2005-09-24
  • 打赏
  • 举报
回复
恭喜楼主,偶是来蹭分的~~~
明月登楼 2005-09-24
  • 打赏
  • 举报
回复
哈哈,昨天我已解决此难题!欢喜中。。。。。
明月登楼 2005-09-01
  • 打赏
  • 举报
回复
怎么没有人回答呀?
明月登楼 2005-08-31
  • 打赏
  • 举报
回复
既然,前面两个条件都过了,到最后选择数据库却出错了,我是确实不明白问题出哪里了?郁闷中...
内容概要:本文系统研究了多种卡尔曼滤波算法(包括KF、EKF、UKF、PF、FKF、DKF)在状态估计与多源数据融合中的理论基础、实现方法及实际应用,重点探讨其在非线性、非高斯系统环境下的性能差异与适用边界。通过Matlab代码实现了各类滤波器的建模与仿真,涵盖了从状态空间构建、噪声处理到滤波优化的完整流程,并结合无人机导航、电力系统状态估计、GNSS/IMU融合等典型场景验证算法有效性,突出展示了EKF在多传感器融合中的工程实用性以及UKF、PF对强非线性问题的适应能力。; 适合人群:具备信号处理、控制理论或状态估计基础知识,从事自动化、电子信息、电气工程、通信工程及航空航天等相关领域的研究生、科研人员和工程技术开发者。; 使用场景及目标:①深入理解卡尔曼滤波系列算法的核心思想、数学推导及其在非线性系统中的扩展机制;②掌握Matlab环境下各类滤波算法的编程实现与调参技巧;③应用于目标跟踪、惯性导航、电力系统监测、传感器融合等科研与工程项目中的状态估计任务;④支撑论文复现、算法对比分析与创新性滤波方法的研发。; 阅读建议:建议结合文中提供的Matlab代码进行动手实践,在仿真实验中对比不同滤波器对初始误差、噪声强度和系统非线性的敏感程度,重点关注UKF与EKF在高维非线性场景下的表现差异,并延伸学习与粒子滤波、信息融合架构的结合应用,以深化对现代估计理论的整体把握。
在当代计算机科学教育体系中,编译技术作为一门核心专业课程,主要目标是培养学生对高级编程语言转化为硬件可执行二进制代码这一完整转换机制的理解。由东南大学软件学院所设计的编译原理课程实验系统,正是为了实现上述教学目的而构建的综合实践平台。该平台系统性地涵盖了编译器构建的各个关键环节,包含词法解析、语法分析、语义验证、中间表示生成、代码产出及性能优化等模块,并且提供了一个能够模拟真实编译器运行过程的完整环境。 词法解析构成了编译流程的起始环节,其功能在于将用户编写的源代码文本拆分为一系列基本单元,即记号流,这些记号涵盖了编程语言中的保留字、变量名称以及常量等基础元素。在词法解析完成后,语法分析器基于语言定义的文法规则,对上述记号序列进行结构化分析,并生成一种层次化表示形式——抽象语法树,该数据结构是对源代码语法结构的高度提炼和表达。 接下来,语义分析阶段在语法分析的基础上进行更深层的校验,它负责检查程序中语义层面的正确性,确保变量均已声明、类型约束符合规则以及表达式具有正确的语义含义。这一环节保证了程序的逻辑完整性,并为后续的代码转换提供了可靠性基础。中间代码生成过程将抽象语法树转化为一种接近机器指令但平台无关的中间表达形式,这种形式便于后续的优化处理以及最终代码的生成。 代码生成将中间表达映射到特定硬件架构下的机器语言或汇编指令,此过程涉及复杂的指令选择策略以及寄存器资源分配等问题。代码优化机制则致力于提升所生成代码的执行效率,涵盖代码体积缩减和执行时间降低等多个维度。经过上述一系列处理,源代码最终转化为可执行程序,编译器的作用也因此得以完整体现。 该课程提供的实践教学系统使学生能够亲自实施编译流程中每一个关键模块的编程实现,从而深化对编译原理理论知识的掌握并发展实际编程技巧。借助这一仿真环境,学生能够在实验过程中反复尝试并进行调试,进而实现从理论到实践的全面融合。该教学实验不仅加强了学生对编译器设计理论的理解,也有效锻炼了他们应对复杂工程问题的能力。此外,通过实际动手操作,学生可以体验并学习现代编译器中被广泛使用的多种优化策略,这些策略在提升程序运行效率方面扮演着至关重要的角色。 该实验体系的建设对编译原理课程的教学改革具有显著推动意义。它不仅有效激发了学生的学习热情,也有助于他们在更具直观性的实验环境中,通过实践来巩固并拓展课堂所学的编译概念。最终,这一实践平台能有效增强学生的实际操作能力,提升其工程素养,为其日后从事软件开发或学术研究工作奠定坚实基础。 资源来源于网络分享,仅用于学习交流使用,勿用于商业,如有侵权联系我删除!

24,852

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 工具平台和程序库
社区管理员
  • 工具平台和程序库社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧