刚遇到新问题在C++中使用insert 语句插入40条记录的时候,无法完成插入。但是插入10条记录的时候就可以,请问这是什么原因。
例:
sprintf_s(strSQL,"insert into test(name,number,................) values(\'%s\',\'%d\',................')","asdgjhas",5,........);
怎么使用这样的语句想数据库插入多条记录,(40条以上的记录??!);是否有什么限制性的语句??! 之后我只是用了这条语句来判断是否插入成功,
if (mysql_real_query(YManagerModelCL::GetInstance().GetDBHandle(),strSQL,Lenght) != 0)
{
AfxMessageBox(_T("增添失败,请与系统管理员联系!"));
return FALSE;
}
例:
sprintf_s(strSQL,"insert into test(name,number,................) values(\'%s\',\'%d\',................')","asdgjhas",5,........);
怎么使用这样的语句想数据库插入多条记录,(40条以上的记录??!);是否有什么限制性的语句??! 之后我只是用了这条语句来判断是否插入成功,
if (mysql_real_query(YManagerModelCL::GetInstance().GetDBHandle(),strSQL,Lenght) != 0)
{
AfxMessageBox(_T("增添失败,请与系统管理员联系!"));
return FALSE;
}
insert into tt values(4,5,6)
分次运行
{
AfxMessageBox(_T("增添失败,请与系统管理员联系!"));
return FALSE;
}
可能的原因:…d\',\'%s\',\'%s\',\'%s\')",strSkillName,pSkillInf… 应该是
…d\',\'%s\',\'%s\',\'%s\') ; ",strSkillName,pSkillInf…我觉得是少了一个“;”,因此每次只有最后一行的值可以插入。mysql需要结束符;,而最后一行,作为命令本身的结束可以例外,因此最后一行数据可以插入。
如果你是一次生成一个string 包含40个SQL语句,则不行,一次的SQL语句有最大字符限制。.
[align=center]==== 思想重于技巧 ====
[/align]
.
贴子分数<20:对自已的问题不予重视。
贴子大量未结:对别人的回答不予尊重。
.
printf()语句:
char strSQL[255];
printf(strSQL,"insert into table(name, type,number,...................) values(\'%s\',\'%d\',\'%d\',.................)",strNAME,strTYPE,strNUMBER,...................);
我不知道处理这样的插入在C++中还能怎么做数据库的插入。望各位大侠提点一下啊。
有没有可能你得sql语句已经越过225个字符的长度?
用
char * strSQL
看看