Sese Framework
x.y.z
A cross-platform framework
载入中...
搜索中...
未找到
DriverInstance.h
浏览该文件的文档.
1
// Copyright 2024 libsese
2
//
3
// Licensed under the Apache License, Version 2.0 (the "License");
4
// you may not use this file except in compliance with the License.
5
// You may obtain a copy of the License at
6
//
7
// http://www.apache.org/licenses/LICENSE-2.0
8
//
9
// Unless required by applicable law or agreed to in writing, software
10
// distributed under the License is distributed on an "AS IS" BASIS,
11
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
// See the License for the specific language governing permissions and
13
// limitations under the License.
14
19
20
#pragma once
21
22
#include <
sese/db/Config.h
>
23
#include <
sese/db/PreparedStatement.h
>
24
#include <
sese/util/ErrorCode.h
>
25
26
namespace
sese::db
{
27
29
class
DriverInstance
{
30
public
:
31
using
Ptr
= std::unique_ptr<DriverInstance>;
32
34
virtual
~DriverInstance
() noexcept = default;
39
virtual
ResultSet
::
Ptr
executeQuery
(const
char
*sql) noexcept = 0;
44
virtual int64_t
executeUpdate
(const
char
*sql) noexcept = 0;
49
virtual
PreparedStatement
::
Ptr
createStatement
(const
char
*sql) noexcept = 0;
50
53
[[nodiscard]] virtual
int
getLastError
() const noexcept = 0;
54
57
[[nodiscard]] virtual const
char
*
getLastErrorMessage
() const noexcept = 0;
63
[[nodiscard]] virtual
bool
setAutoCommit
(
bool
enable) noexcept = 0;
64
68
[[nodiscard]] virtual
bool
getAutoCommit
(
bool
&status) noexcept = 0;
69
72
[[nodiscard]] virtual
bool
rollback
() noexcept = 0;
73
76
[[nodiscard]] virtual
bool
commit
() noexcept = 0;
77
81
[[nodiscard]] virtual
bool
getInsertId
(int64_t &
id
) const noexcept = 0;
82
85
[[nodiscard]] virtual
bool
begin
() noexcept = 0;
86
87
ErrorCode
getErrorCode
()
const
{
88
return
{
getLastError
(),
getLastErrorMessage
()};
89
}
90
};
91
}
// namespace sese::db
sese
db
DriverInstance.h
生成于 2024年 十一月 4日 星期一 09:58:00 , 为 Sese Framework使用
1.11.0