@@ -210,7 +210,7 @@ class MysqlResults
210
210
| ` bool IsValueNull(size_t row_index, size_t col_index) ` | 结果集中某个值是否为空 |
211
211
| ` const std::vector<std::string>& GetFieldsName() ` | 获取结果表字段名 |
212
212
213
-
213
+ 请不要使用 MysqlResult< OnlyExec > 中的 ` GetResultSet ` 和 ` ResultSet ` 。同时 ` MysqlResult<OnlyExec>::GetFieldsName() ` 返回是空的 vector。
214
214
215
215
### 使用示例
216
216
@@ -236,12 +236,12 @@ mysql> select * from users;
236
236
// example
237
237
MysqlResults<OnlyExec> exec_res;
238
238
proxy->Execute (client_context, exec_res,
239
- "insert into users (username)"
240
- "values (?)", "Jack");
239
+ "insert into users (username)"
240
+ "values (?)", "Jack");
241
241
if(exe_res.OK())
242
- size_t n_rows = exec_res.GetAffectedRowNum()
242
+ size_t n_rows = exec_res.GetAffectedRowNum()
243
243
else
244
- std::string error = exec_res.GetErrorMessage()
244
+ std::string error = exec_res.GetErrorMessage()
245
245
```
246
246
247
247
用于像 `INSERT`、`UPDATE` 这类不会返回结果集的查询操作。通过 `GetAffectedRowNum()` 获取影响的行。
@@ -254,15 +254,15 @@ else
254
254
255
255
MysqlResults<NativeString> query_res;
256
256
proxy->Execute(client_context, query_res,
257
- "select * from users");
257
+ "select * from users");
258
258
259
259
using ResSetType = std::vector<std::vector<std::string_view>>;
260
260
// ResSetType& res_data = query_res.ResultSet();
261
261
auto& res_data = query_res.ResultSet();
262
262
263
263
std::cout << res_data[0][1] << std::endl; // [email protected]
264
264
if(query_res.IsValueNull(3, 2) != 0)
265
- std::cout << "rose's email is null" << std::endl;
265
+ std::cout << "rose's email is null" << std::endl;
266
266
267
267
```
268
268
@@ -277,19 +277,19 @@ if(query_res.IsValueNull(3, 2) != 0)
277
277
// example
278
278
MysqlResults<int , std::string, MysqlTime> query_res;
279
279
proxy->Execute (client_context, query_res,
280
- "select id, email, created_at from users "
281
- "where id = 1 or username = \" bob\" )";
280
+ "select id, email, created_at from users "
281
+ "where id = 1 or username = \" bob\" )";
282
282
283
283
using ResSetType = std::vector<std::tuple<int, std::string, MysqlTime>>;
284
284
if(query_res.OK()) {
285
- // ResSetType& res_set = query_res.ResultSet();
286
- auto& res_set = query_res.ResultSet();
287
- int id = std::get<0>(res_set[ 0] );
288
- std::string email = std::get<1>(res_set[ 1] );
289
- MysqlTime mtime = std::get<2>(res_set[ 1] );
290
- }
285
+ // ResSetType& res_set = query_res.ResultSet();
286
+ auto& res_set = query_res.ResultSet();
287
+ int id = std::get<0>(res_set[ 0] );
288
+ std::string email = std::get<1>(res_set[ 1] );
289
+ MysqlTime mtime = std::get<2>(res_set[ 1] );
290
+ }
291
291
else
292
- std::string error = exec_res.GetErrorMessage()
292
+ std::string error = exec_res.GetErrorMessage()
293
293
```
294
294
295
295
使用类型绑定,如果模板指定为除 `OnlyExec`,`NativeString`之外的其它类型,则结果集的每一行是一个tuple。(这里关于 `MysqlTime` 的使用见[日期和Blob](#更多类型))
0 commit comments