vs2010 mfc中把图片路径插入access数据库

如果我直接插入一个写好的路径,就象这样strtest.Format(_T("f:/test"));是可以插进去的,可是换成由函数得到的路径就插不进去了,这个路径也是对的,... 如果我直接插入一个写好的路径,就象这样strtest.Format(_T("f:/test"));是可以插进去的,可是换成由函数得到的路径就插不进去了,这个路径也是对的,我把它显示到编辑框里是可以的,也没什么报错,access表没什么反应,改了好多次格式也都不行,我把程序贴在下面,要崩溃了,求指点啊!!
void zhuce::OnBnClickedButton1()
{
// TODO: 在此添加控件通知处理程序代码
UpdateData(TRUE);
// 设置过滤器
TCHAR szFilter[] = _T("Image files(*.bmp)|*.bmp|Image files(*.jpg)|*.jpg|Image files(*.jpeg)|*.jpeg|Image files(*.png)|*.png|Image files(*.pgm)|*.pgm|Image files(*.ppm)|*.ppm|All Files (*.*)|*.*||");

// 构造打开文件对话框
CFileDialog fileDlg(TRUE,_T("*.jpg"), NULL, OFN_FILEMUSTEXIST|OFN_HIDEREADONLY|OFN_ALLOWMULTISELECT , szFilter, this);
CString strFilePath;
#define NAMEBUF 1024
fileDlg.m_ofn.lpstrFile =new TCHAR[NAMEBUF];
memset(fileDlg.m_ofn.lpstrFile,0,NAMEBUF);
fileDlg.m_ofn.nMaxFile = NAMEBUF;
fileDlg.DoModal();
POSITION pos = fileDlg.GetStartPosition();
CDBAdo* pDataBase3 = &(((CUserLogin1App*)AfxGetApp())->m_dbDemo);
CString strSQL;
CString strtest;
strtest.Format(_T("f:/test"));
strSQL.Format(_T("INSERT INTO [Images]([ImagePath]) values(\"%s\")"),strFilePath);
while(pos)
{
strFilePath=fileDlg.GetNextPathName(pos);
if(pDataBase3->Execute(strSQL))
{ TRACE("写入成功\n");}
else {AfxMessageBox(pDataBase3->GetLastError());}
TRACE("%S",strFilePath);
}
delete [] fileDlg.m_ofn.lpstrFile;
SetDlgItemText(IDC_EDIT3, strFilePath);
UpdateData(FALSE);
}
展开
 我来答
匿名用户
2016-05-04
展开全部
sql字符串用单引号

strSQL.Format(_T("INSERT INTO [Images]([ImagePath]) values('%s')"),strFilePath);

而且应该在此行前检查strFilePath是否含有单引号。如果有,则要替换成两个单引号:''(不是一个双引号)
追问
谢谢回答!我照你说的改了还是什么都没插进去,不过那个我已经用别的方法代替了,关于sql语句,我还想问一个问题,我想查找和m_findlabel相等的Label,是int类型的,像我下面那么写,运行会出现内存错误,改成Label=1,就可以实现了。
SqlString.Format(_T("select * from UserInfo where Label=%d",m_findlabel));
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式