插入SQL数据库时忽略空格而不删除字符串中的空格

时间:2013-11-23 02:45:55

标签: c++ mysql sql database

我正在使用C ++和嵌入式SQL将文本文件中的数据读入SQL数据库。 这是文本文件“employee.txt”:

1000 Smith Joe 35000.00

其中empId = 100,empName =“Smith Joe”,empSal = 35000.00。

到目前为止,我尝试过的语句与employee.txt文件中名字和姓氏之间的空格无法正常工作。正在阅读“史密斯”和“乔”之间的空间,意味着史密斯和乔是两个独立的项目,而不是带有空格的字符串。这是我的代码:

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”而不是“Smith Joe”),则数据库会正确填充。

我想在读取文件时忽略空格,而不删除空格,以便将整个字符串“Smith Joe”放入数据库的一个单元格中。

有没有办法忽略两个名称之间的空格而不删除空格,以便整个字符串“Smith Joe”可以读入数据库的一个单元格?

三江源

2 个答案:

答案 0 :(得分:1)

  1. 读完整行。 “ 1000 Smith Joe 35000.00
  2. 找到第一个空间。在那个空间分开。 “ 1000 ”,“ Smith Joe 35000.00
  3. 找到该行剩余部分的最后一个空格。在那个空间分开。 “ 1000 ”,“史密斯乔”,“ 35000.00

答案 1 :(得分:0)

您可以尝试将empName读入两个变量,如empFirstName和empLastName,然后在插入数据库时​​将它们连接起来。