用C語言操作數(shù)據(jù)庫時,已經(jīng)成功連接并能夠讀寫。代碼中有如下一段內(nèi)容:
command = "INSERT into D31FATTR (D31ID, D31AB00) values (";
command = command + fileid_str;
command = command + ",'";
command = command + autoAbs->abstractBuf;
command = command +"') ";
rc=SQLExecDirect(whstmt,(SQLCHAR *)command.c_str(),SQL_NTS);
其中command的數(shù)據(jù)類型為string,fileid_str和autoAbs->abstractBuf的數(shù)據(jù)類型都都是char *,此時一切正常。我又在這段代碼之后加入了以下內(nèi)容:
command = "INSERT into D31FILES (D31ID, D31FT, D31HT) values (";
command = command + fileid_str;
command = command + ",'";
command = command + (char *)title;
command = command +"','";
command = command + (char *)content);
command = command + "')";
rc=SQLExecDirect(whstmt,(SQLCHAR *)command.c_str(),SQL_NTS);
其中title和content的數(shù)據(jù)類型都為unsigned char *,
看起來與上面代碼沒有什么本質(zhì)區(qū)別,編譯后,在執(zhí)行到這段代碼之前的與數(shù)據(jù)庫建立連接時就失敗了。
開始時我懷疑是強制類型轉(zhuǎn)換造成的,為了找出原因,我把所有后加入的這段代碼先全部注釋掉,然后每次添加一條語句重新編譯執(zhí)行,發(fā)現(xiàn)在加入第三條語句后就已經(jīng)無法連接數(shù)據(jù)庫了。
相關(guān)推薦:全國計算機等級考試將于3月28日至4月1日舉行北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |