本文整理汇总了C++中ErrorCode::SetError方法的典型用法代码示例。如果您正苦于以下问题:C++ ErrorCode::SetError方法的具体用法?C++ ErrorCode::SetError怎么用?C++ ErrorCode::SetError使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ErrorCode
的用法示例。
在下文中一共展示了ErrorCode::SetError方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: Call
ByteArray ConnectorMySQL::Call(const ByteArray &command, ErrorCode &error_code)
{
if (IsConnected())
{
mysql_real_query(&mysql_, command.data(), command.size());
int error = mysql_errno(&mysql_);
if (error != 0)
{
error_code.SetError(error, mysql_error(&mysql_));
return ByteArray();
}
ByteArray bytes;
MYSQL_RES *sql_result = mysql_store_result(&mysql_);
if (sql_result != nullptr)
{
mysql_stuff::Serialize(sql_result, &bytes);
mysql_free_result(sql_result);
}
else
{
ProcedureMySQL procedure(command);
if (procedure.HasVariable())
{
ByteArray query_variable = procedure.QueryVariableValue();
mysql_real_query(&mysql_, query_variable.data(), query_variable.size());
int error = mysql_errno(&mysql_);
if (error != 0)
{
error_code.SetError(error, mysql_error(&mysql_));
return ByteArray();
}
MYSQL_RES *sql_result = mysql_store_result(&mysql_);
mysql_stuff::Serialize(sql_result, &bytes);
mysql_free_result(sql_result);
}
}
return bytes;
}
else
{
throw NotConnected();
}
}
示例2: SetCharacterSet
void ConnectorMySQL::SetCharacterSet(const char *csname, ErrorCode &error_code)
{
if (IsConnected())
{
mysql_set_character_set(&mysql_, csname);
int error = mysql_errno(&mysql_);
if (error != 0)
{
error_code.SetError(error, mysql_error(&mysql_));
}
}
else
{
throw NotConnected();
}
}
示例3: SelectDatabase
void ConnectorMySQL::SelectDatabase(const char *db, ErrorCode &error_code)
{
if (IsConnected())
{
mysql_select_db(&mysql_, db);
int error = mysql_errno(&mysql_);
if (error == 0)
{
select_db_ = db;
}
else
{
error_code.SetError(error, mysql_error(&mysql_));
}
}
else
{
throw NotConnected();
}
}
示例4: Insert
ByteArray ConnectorMySQL::Insert(const ByteArray &command, ErrorCode &error_code)
{
if (IsConnected())
{
mysql_real_query(&mysql_, command.data(), command.size());
int error = mysql_errno(&mysql_);
if (error != 0)
{
error_code.SetError(error, mysql_error(&mysql_));
return ByteArray();
}
ByteArray bytes;
mysql_stuff::SerializeAffectedRowsAndInsertID(mysql_, &bytes);
return bytes;
}
else
{
throw NotConnected();
}
}
示例5: Select
ByteArray ConnectorMySQL::Select(const ByteArray &command, ErrorCode &error_code)
{
if (IsConnected())
{
mysql_real_query(&mysql_, command.data(), command.size());
int error = mysql_errno(&mysql_);
if (error != 0)
{
error_code.SetError(error, mysql_error(&mysql_));
return ByteArray();
}
ByteArray bytes;
MYSQL_RES *sql_result = mysql_store_result(&mysql_);
mysql_stuff::Serialize(sql_result, &bytes);
mysql_free_result(sql_result);
return bytes;
}
else
{
throw NotConnected();
}
}