发布网友 发布时间:2024-10-24 04:26
共2个回答
热心网友 时间:2024-11-06 13:24
呵呵,前几天也遇到这个问题了。
一开始我是这样做的:
(1)定义两个变量
_ConnectionPtr m_pConnection;
_RecordsetPtr m_pRecordset;
(2)在mfc的按钮中的代码
m_pRecordset.CreateInstance(__uuidof(Recordset));
CString sql;
sql.Format("bulk insert Data from 'D:\\a.txt' with(fieldterminator = ',', rowterminator = '\n')");
m_pRecordset->Open(_variant_t(sql),m_pConnection.GetInterfacePtr(),adOpenDynamic,adLockOptimistic,adCmdText);
以上两步就可以将D:\\a.txt这个文本文件导入数据库的Data表中,但是这样做出现了一个问题:
导入的数据你查询时没有显示错误,但是当你把数据导出的时候就发现问题了。(你可以将你查询的结果导出为csv文件试试看)
今天终于解决了这个问题,就是将rowterminator = '\n'的换行符写成'\r\n',也就是rowterminator = '\r\n',这样就解决问题了。
因为windows下的文本就是以\r\n结束的。
(以上省去了数据库的连接)
热心网友 时间:2024-11-06 13:24
我提供思路 先读取txt 到程序内存里 然后 执行sql语句 写入sql数据库