我有一个简单的程序,应该打印今天的名字。它是工作的,但我做了get_query_result函数,然后它给了我一个分割错误。我看不出这里有什么错误,请帮帮我。
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <mysql.h>
#define QUERY_SIZE 1000
void finish_with_error(MYSQL* con)
{
fprintf(stderr, "%s\n", mysql_error(con));
mysql_close(con);
exit(1);
}
void get_query_result(MYSQL *con, MYSQL_RES *result, char *query)
{
if(mysql_query(con, query))
{
finish_with_error(con);
}
result = mysql_store_result(con);
if(result == NULL)
{
finish_with_error(con);
}
}
int main()
{
MYSQL *con = mysql_init(NULL);
MYSQL_RES *result;
MYSQL_ROW row;
if(con == NULL)
{
fprintf(stderr, "mysql_init() failed\n");
exit(1);
}
if(mysql_real_connect(con, "127.0.0.1", "root", "mysqlpassword", "database", 0, NULL, 0) == NULL)
{
finish_with_error(con);
}
get_query_result(con, result, "SELECT DAYNAME(DATE(NOW()))");
row = mysql_fetch_row(result);
printf("%s\n", row[0]);
mysql_free_result(result);
return 0;
}
main
中的result
不受get_query_result
的影响,因此,您最终使用未初始化的指针调用mysql_free_result
。
切换到
MYSQL_RES *get_query_result(MYSQL *con, char *query)
{
MYSQL_RES *result;
if(mysql_query(con, query))
{
finish_with_error(con);
}
result = mysql_store_result(con);
if(result == NULL)
{
finish_with_error(con);
}
return result;
}
这样称呼它:
result = get_query_result(con, "SELECT DAYNAME(DATE(NOW()))");
问题内容: 有没有一种简单的方法可以从Linux命令行运行MySQL查询并以CSV格式输出结果? 这是我现在正在做的事情: 当有很多列需要用引号引起来时,或者结果中有引号需要转义时,它将变得混乱。 问题答案: 从http://www.tech-recipes.com/rx/1475/save-mysql-query-results-into-a-text-or- csv-file/ 使用此命令
我在两个特征类中有两个几何,一个名为“HY90299”,另一个名为“hyboxsdo”,这两个几何不相交。 但是当我在oralce中运行空间查询时, “从 HY90299 t,hyboxsdo g 中选择sdo_relate(t.shape,g.shape ,'mask=ANYINTERACT') ” , 我的预言机版本是11g 追加
问题内容: 我想为sql查询的结果中的每一行生成一个行号。如何做到这一点? 例如:在请求 我想添加一列以显示行号 我正在使用sql server 2005。 问题答案: 这取决于您使用的数据库。一种适用于SQL Server,Oracle和MySQL的选项: 更改SomeField和SomeTable是根据您的特定表和相关字段进行排序的。自然,优选SomeField在查询上下文中是唯一的。 在您的
问题内容: 我的要求是存储查询的整个结果 到Excel文件。 问题答案: 实现此目的的典型方法是导出为CSV,然后将CSV加载到Excel。 您可以使用任何MySQL命令行工具通过在语句中包含以下子句来执行此操作: 有关详细选项,请参见此链接。 另外,您可以使用mysqldump,使用– tab选项将转储存储为单独的值格式,请参见此链接。
问题内容: 在我的Java项目中,我有很多JasperReports报告,其中包含复杂的SQL查询,其中包含很多参数。这些报告用于生成pdf文档,其中包含查询返回的数据,并以各种方式进行了分组和格式化。 现在,我还需要直接导出查询结果(例如ResultSet或Map或csv文件或类似文件)。是否可以要求JasperReports仅执行查询并返回结果,而不渲染pdf页面? (注意:这与为报表呈现选择
问题内容: 我有一个数据库表看起来像这样 当我运行此查询时,应该不显示任何行,因为不存在具有value的行: SELECT * FROM tableName WHERE ID =‘101foo2’ 我得到的结果具有相同的ID,但没有单词 如果我的查询是如何显示具有ID的行 问题答案: 您正在混合类型。 是一个整数(或数字)。您正在将其与字符串进行比较。因此,MySQL需要确定用于比较的类型。使用什