SQLConfigDataSource(NULL,ODBC_ADD_DSN,"Microsoft Access Driver (*.mdb)\0","DSN=TryDB\0DBQ=D:\\Database\\try.mdb\0DEFAULTDIR=D:\\DATABASE\0\0");这是一个动态增加数据源的语句,已调试通过,但我把他改为下面这样就不行了,为什么
str="DSN=TryDB\0DBQ=";
str=str+m_FileName;
str=str+"\0DEFAULTDIR=D:\\DATABASE\0\0";
str="DSN=TryDB\0DBQ=D:\\Database\\try.mdb\0DEFAULTDIR=D:\\DATABASE\0\0";
SQLConfigDataSource(NULL,ODBC_ADD_DSN,"Microsoft Access Driver (*.mdb)\0",str);
系统一检测到"\0"就将str截止了,应如何改正
str="DSN=TryDB\0DBQ=";
str=str+m_FileName;
str=str+"\0DEFAULTDIR=D:\\DATABASE\0\0";
str="DSN=TryDB\0DBQ=D:\\Database\\try.mdb\0DEFAULTDIR=D:\\DATABASE\0\0";
SQLConfigDataSource(NULL,ODBC_ADD_DSN,"Microsoft Access Driver (*.mdb)\0",str);
系统一检测到"\0"就将str截止了,应如何改正
str=str+m_FileName;
str=str+"#DEFAULTDIR=D:\\DATABASE##";
str="DSN=TryDB\0DBQ=D:\\Database\\try.mdb\0DEFAULTDIR=D:\\DATABASE##";
int len=strlen(str);//一定要声明
for(int i=0;i<len;i++)
if(str[i]=='#')
str[i]='\0';
SQLConfigDataSource(NULL,ODBC_ADD_DSN,"Microsoft Access Driver (*.mdb)\0",str);
int mlen;
sprintf(szDesc,"DSN=%s? DBQ=%s? DEFAULTDIR=%s?? ","TryDB","D:\\Database\\try.mdb","D:\\DATABASE");mlen = strlen(szDesc);
for (int i=0; i<mlen; i++)
{
if (szDesc[i] == '?')
szDesc[i] = '\0';
}SQLConfigDataSource(NULL,ODBC_ADD_DSN,"Microsoft Access Driver (*.mdb)\0",(LPCSTR)szDesc);
D:\Documents and Settings\j\桌面\Manager\DlgQueryData.cpp(74) : error C2106: '=' : left operand must be l-value