在插入SQL数据库时忽略空格,而不删除字符串中的空格 我用C++和嵌入式SQL从文本文件中读取数据到SQL数据库中。 以下是文本文件“employee.txt”:
其中empId=100,empName=“Smith Joe”和empSal=35000.00 到目前为止,我尝试过的语句无法正确处理employee.txt文件中名和姓之间的空格。读“Smith”和“Joe”之间的空格意味着Smith和Joe是两个独立的项目,而不是带有空格的字符串。这是我的密码:在插入SQL数据库时忽略空格,而不删除字符串中的空格 我用C++和嵌入式SQL从文本文件中读取数据到SQL数据库中。 以下是文本文件“employee.txt”:,c++,mysql,sql,database,C++,Mysql,Sql,Database,其中empId=100,empName=“Smith Joe”和empSal=35000.00 到目前为止,我尝试过的语句无法正确处理employee.txt文件中名和姓之间的空格。读“Smith”和“Joe”之间的空格意味着Smith和Joe是两个独立的项目,而不是带有空格的字符串。这是我的密码: inFile >> empId; while (!inFile.eof()) { inFile >> empName; inFile >> em
inFile >> empId;
while (!inFile.eof())
{
inFile >> empName;
inFile >> empSal;
string sql;
sql = "insert into Employee values (\'"+ empID + "\', \' "+empName+ " \', \'"
+empSal+ "\')";
mysql_query(connect, sql.c_str());
inFile >> empSal;
}
如果我从文本文件(“SmithJoe”而不是“SmithJoe”)中删除空格,数据库将正确填充
我希望在读取文件时忽略空白,而不删除空白,以便将整个字符串“Smith Joe”放入数据库的一个单元格中
有没有一种方法可以忽略两个名称之间的空格而不删除空格,这样整个字符串“Smith Joe”就可以读入数据库的一个单元格
谢谢
您可以尝试将empName读入两个变量,如empFirstName和empLastName,然后在插入数据库时将它们合并。mysql与此有什么关系?你的问题只是读取一个文本文件,而你在读取数据后如何处理这些数据是不相关的,不是吗?不幸的是,你根本就完蛋了。如果使用空格将名字与姓氏分开,则无法分辨是姓氏还是姓氏中有空格。你不知道“abc”是“abc”还是“abc”。所以你不可能同时得到“Dideric van der Waal”(化学家,他的最后一个名字包含空格)和“Ram gopal Qatlam”(我的一个朋友,他的名字包含空格)。你怎么知道“Patrick Nielsen Hayden”有中间名、带空格的名字还是带空格的姓氏?(剧透者,他的姓有空格。)必须提及。如果员工的名字是“迪德里克·范德瓦尔”,这将失败。我完全同意大卫·施瓦茨的观点。输入应该有一些分隔符,没有这些分隔符,任何技术都不会永远工作。如果将来必须向输入中添加更多列,则即使拆分技术也将失败。
inFile >> empId;
while (!inFile.eof())
{
inFile >> empName;
inFile >> empSal;
string sql;
sql = "insert into Employee values (\'"+ empID + "\', \' "+empName+ " \', \'"
+empSal+ "\')";
mysql_query(connect, sql.c_str());
inFile >> empSal;
}