作者chingyue (ChingYue)
看板C_and_CPP
标题[问题] VC++存资料进MySQL如何使用VC++中的变数
时间Wed Apr 19 11:55:21 2017
开发平台(Platform): (Ex: Win10, Linux, ...)
Win7
编译器(Ex: GCC, clang, VC++...)+目标环境(跟开发平台不同的话需列出)
VC++ 2013(WIN32 API)
额外使用到的函数库(Library Used): (Ex: OpenGL, ...)
MySQL C API
问题(Question):
各位前辈好
小弟现在写了一只程式
功能是先读取资料夹内的档案
再把档案名子存入资料库
可是现在问题是
我不知道该如何在mysql_query()中加入VC++内的变数
小弟尝试了3种写法都会出现错误
1:
mysql_query(&myCont, "insert into ccc values (NULL, '%s');",dir);
会在dir这边出现"Error:函式呼叫中的引数太多"
2:
mysql_query(&myCont, "insert into ccc values (NULL, 'dir');");
这样存到资料库内都全部都是dir而不是变数内的值
3:
mysql_query(&myCont, "insert into ccc values (NULL, "dir");");
会在dir这边出现" Error:必须是')' "
麻烦各位前辈指导小弟
谢谢!
程式码网址(ideone):
http://ideone.com/sM42ts
程式码图片:
http://i.imgur.com/71deIkV.jpg
程式码(Code):(请善用置底文网页, 记得排版)
#include <windows.h>
#include <stdio.h>
#include <mysql.h>
#include <string>
#include <iostream>
void main()
{
char InputPath[] = "D:\\tttrrr\\";
//放要读取档案的资料夹路径到InputPath字串里
char szDir[MAX_PATH];
char dir[MAX_PATH];
WIN32_FIND_DATA FileData;
HANDLE hList;
//------------------------------------------------------
//资料库变数
char user[] = "root";
char pswd[] = "";
char host[] = "localhost";
char table[] = "user";
unsigned int port = 3306;
MYSQL myCont;
MYSQL_RES *result;
MYSQL_ROW sql_row;
int res;
//----------------------------------------------------------
mysql_init(&myCont);
sprintf_s(szDir, "%s\\*", InputPath);
if ((hList = FindFirstFile(szDir, &FileData)) == INVALID_HANDLE_VALUE)
printf("No files be found.\n\n");
else {
while (1) {
if (!FindNextFile(hList, &FileData)) {
if (GetLastError() == ERROR_NO_MORE_FILES)
break;
}
sprintf_s(dir, "%s", FileData.cFileName);
if (strlen(dir) > 3){
if (mysql_real_connect(&myCont, host, user, pswd, table, port, NULL, 0))
//连接资料库
{
mysql_query(&myCont, "SET NAMES BIG5");
mysql_query(&myCont, "insert into ccc values (NULL, '%s');",dir);
}
printf("%s\n", dir);
}
}
}
FindClose(hList);
system("pause");
}
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 220.136.21.182
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/C_and_CPP/M.1492574128.A.8E0.html
1F:推 LPH66: 关键字: sprintf 04/19 11:58
谢谢!!!
通了!!
完成了!!
※ 编辑: chingyue (220.136.21.182), 04/19/2017 12:06:55