我正在尝试使用OO Php,这对我来说是个新事物(好吧,Php也是如此)。以下行有错误:
class.OLAPdatabase.php:
switch($color){
case "2": //this is first case
$sqlQry = "UPDATE VisEData SET ParameterValue = '" . $tempObj->Yevaluation . "' where MeasurementID = '" . $tempObj->parameterDesc . "' and TestUnitID = '" . $tempObj->parameterID . "' and ColorID = '" . $color . "'";
break;
...
被引用的类看起来像这样:
class.ViseParameter.php:
class ViseParameter
{
var $parameterID = null;
var $parameterDesc = null;
var $Yevaluation = null;
var $Mevaluation = null;
var $Cevaluation = null;
var $Kevaluation = null;
var $Comments = null;
//**********************************************************
// -[ F_u_n_c_t_i_o_n_s ]-
//**********************************************************
function __construct()
{} // END - Constructor
//**********************************************************
function __destruct()
{}
UPDATE行的错误消息是:
error updating VisEData with case 2Error in statement preparation/execution. Array ( [0] => Array ( [0] => 22018 [SQLSTATE] => 22018 [1] => 245 [code] => 245 [2] => [Microsoft][SQL Server Native Client 10.0][SQL Server]Conversion failed when converting the varchar value 'PR Spots Marks' to data type int. [message] => [Microsoft][SQL Server Native Client 10.0][SQL Server]Conversion failed when converting the varchar value 'PR Spots Marks' to data type int. ))
我已经知道ViseParameter类中的数据很好。 我知道我的更新语句工作正常,如果我将字符串变量放入我有$ tempObj-> Yevaluation类型的东西的地方,但这是第一次使用类中的数据进行更新。例如,更新工作正常:
$sqlQry = "UPDATE VisEData SET ParameterValue = '" . $Yevaluation . "' where MeasurementID = '" . $MCBands . "' and TestUnitID = '" . $TestUnitID . "' and ColorID = '" . $YColor . "'";
我在网络搜索中没有看到太多支持信息,但这不是一个简单的问题。
这是使用MS SQL 2008 R2。