因为做的是XML数据库,但是必须能够兼容SQL,故当用户按照一定的要求,输入SQL语句后,XML数据库,会将SQL语句传入MYSQL或ORACLE等SQL数据库,当返回查询结果后,我们会在执行引擎层面,将结果以及SQL语句中的参数进行封装,形成一个XML片段,并将该片段返回出来,其中涉及到SQL语句中参数的提取问题,才疏学浅,只想到了一种办法,并且其中还存在着一个问题,暂时没有想到解决方法,由于急用,只能将就。
<1> 利用string相关函数去除参数中的所有引号(XML文档对于数据的引号有要求,不能双引号或者单引号嵌套,简单起见,直接去除,不会影响用户的使用)
void drop_stringquotation(std::string &Argument)
{
const char singlequote = '\'';// In execSQL querystate , the string of sql must use the singlequote rather than doublequote
size_t searchCursor = 0;
while(searchCursor <= Argument.size())
{
searchCursor = Argument.find(singlequote,searchCursor);
if(searchCursor >= 0 &&