分别用ADO/BDE/DBExpress查询"select NULL + '+' + NULL as a"
结果是:ADO/DBExpress的结果都为NULL
而BDE的结果是"+"
AnsiString ansiSQL = "select NULL + '+' + NULL as a";
//ADO
ADOQuery1->SQL->Clear();
ADOQuery1->SQL->Add(ansiSQL);
ADOQuery1->Open();
AnsiString ansiADOStr = ADOQuery1->FieldByName("a")->AsString;
//ansiADOStr=NULL;
//BDE
Query1->SQL->Clear();
Query1->SQL->Add(ansiSQL);
Query1->Open();
AnsiString ansiBDEStr = Query1->FieldByName("a")->AsString;
//ansiBDEStr="+";
//DBExpress
SQLQuery1->SQL->Clear();
SQLQuery1->SQL->Add(ansiSQL);
SQLQuery1->Open();
AnsiString ansiDBExpressStr = SQLQuery1->FieldByName("a")->AsString;
//ansiDBExpressStr=NULL;