高手快过来帮小弟我看看这两段代码有什么区别
高手快过来帮我看看这两段代码有什么区别
BOOL CVORecordset::SetFieldValue(LPCTSTR pcszFieldName, VARIANT value)
{
if(!m_rs)
{
TRACE(TEXT( "CVORecordset::SetFieldValue() RecordSet COM Object not initialized\n "));
return FALSE;
}
//CVOString strFieldName(pcszFieldName);
CString strFieldName(pcszFieldName);
for(int iFieldIndex = 0; iFieldIndex < GetFieldCount(); iFieldIndex++)
{
if(strFieldName == GetFieldName(iFieldIndex))
return SetFieldValue(iFieldIndex, value);
}
return FALSE;
}
BOOL CVORecordset::SetFieldValue(int iField, VARIANT value)
{
if(!m_rs)
{
TRACE(TEXT( "CVORecordset::SetFieldValue() RecordSet COM Object not initialized\n "));
return FALSE;
}
HRESULT hr;
Field* pField = GetField(iField);
if(!pField)
{
TRACE(TEXT( "CVORecordset::SetFieldValue() Invalid Field Index\n "));
return FALSE;
}
pField = GetField(iField);
hr = pField-> put_Value(value);
_variant_t varFieldName(GetFieldName(iField));
hr = m_rs-> Update(varFieldName, value);
return !FAILED(hr);
}
看明白的能帮我讲讲吗?非常感谢
------解决方案--------------------
你想问什么?
具体点,这两个区别其实是很多,但不知道你想知道什么方面的,建议下次问的清楚点
------解决方案--------------------
函数参数不同。
------解决方案--------------------
发现没有,第一个函数调用了第二个函数。
------解决方案--------------------
没有吧
------解决方案--------------------
"发现没有,第一个函数调用了第二个函数。 "
正解
BOOL CVORecordset::SetFieldValue(LPCTSTR pcszFieldName, VARIANT value)
{
if(!m_rs)
{
TRACE(TEXT( "CVORecordset::SetFieldValue() RecordSet COM Object not initialized\n "));
return FALSE;
}
//CVOString strFieldName(pcszFieldName);
CString strFieldName(pcszFieldName);
for(int iFieldIndex = 0; iFieldIndex < GetFieldCount(); iFieldIndex++)
{
if(strFieldName == GetFieldName(iFieldIndex))
return SetFieldValue(iFieldIndex, value);
}
return FALSE;
}
BOOL CVORecordset::SetFieldValue(int iField, VARIANT value)
{
if(!m_rs)
{
TRACE(TEXT( "CVORecordset::SetFieldValue() RecordSet COM Object not initialized\n "));
return FALSE;
}
HRESULT hr;
Field* pField = GetField(iField);
if(!pField)
{
TRACE(TEXT( "CVORecordset::SetFieldValue() Invalid Field Index\n "));
return FALSE;
}
pField = GetField(iField);
hr = pField-> put_Value(value);
_variant_t varFieldName(GetFieldName(iField));
hr = m_rs-> Update(varFieldName, value);
return !FAILED(hr);
}
看明白的能帮我讲讲吗?非常感谢
------解决方案--------------------
你想问什么?
具体点,这两个区别其实是很多,但不知道你想知道什么方面的,建议下次问的清楚点
------解决方案--------------------
函数参数不同。
------解决方案--------------------
发现没有,第一个函数调用了第二个函数。
------解决方案--------------------
没有吧
------解决方案--------------------
"发现没有,第一个函数调用了第二个函数。 "
正解