Bfile类¶
Bfile类定义了Bfile类型对象的公共属性。BFILE是存储在神通数据库之外的操作系统文件中的大型二进制文件。Bfile对象包含一个指向Bfile的逻辑指针,而不是Bfile本身。
Bfile类的方法使您能够执行与Bfile对象相关的特定任务。
ResultSet和Statement类的方法,如getBfile()和setBfile(),使您能够访问SQL BFILE值。
只有setName()、isNull()和operator=()对NULL Bfile对象有效。
Bfile对象可以通过以下方式初始化:
- setName()方法。然后可以修改BFILE,将BFILE插入到表中,然后使用SELECT...FOR UPDATE。write()方法修改BFILE;但是,只有在提交事务时,修改的数据才会刷新到表中。注意,插入操作不是必需的。
- 给它分配一个初始化的Bfile对象。
Bfile()¶
Bfile类的构造函数。
Blob(const Connection * connectionp,
ACIBlobLocator * locatorp, bool toCopy=true)
| 语法 | 描述 |
|---|---|
| Bfile(); | 创建一个空Bfile对象。 |
| Bfile(const Connection * connectionp) | 创建一个未初始化的Bfile对象。 |
| Bfile (const Bfile &srcBfile); | 创建一个Bfile对象的副本。 |
| 参数 | 描述 |
|---|---|
| connectionp | connection指针 |
| srcBfile | 源Bfile对象 |
getStream()¶
返回从BFILE读取的流对象。如果一个流是打开的,它不允许在Bfile对象上打开另一个流。在执行任何Bfile对象操作之前,流必须被关闭。
语法
Stream* getStream(
unsigned int offset = 1,
unsigned int amount = 0);
| 参数 | 描述 |
|---|---|
| offset | 从BFILE开始读取数据的起始位置。如果未指定偏移量,则 从BLOB的开始写入数据。有效值是大于或等于1的数字。 |
| amounte | 从BFILE中读取的字节总数;如果amount为0,则以流模式 从输入偏移量读取数据,直到BFILE结束。 |
isOpen()¶
测试BFILE是否打开。只有调用这个BFILE对象时,BFILE才被认为是打开的。(不同的Bfile对象可以打开这个文件,因为多个open()调用可以通过关联文件与不同的Bfile对象在同一个文件上执行)。如果BFILE打开,返回TRUE;否则,返回FALSE。
语法
bool isOpen() const;
operator=()¶
将一个Bfile对象赋给当前Bfile对象。只有当这个Bfile对象存储在数据库中时,源Bfile对象才被分配给这个Bfile对象。
语法
Bfile& operator=(
const Bfile &srcBfile);
| 参数 | 描述 |
|---|---|
| srcBfile | 分配给当前Bfile对象的Bfile对象。 |
operator==()¶
比较两个Bfile对象是否相等。如果两个Bfile对象都引用同一个Bfile,则Bfile对象相等。如果Bfile对象为空,则返回FALSE。如果Bfile对象相等,则返回TRUE;否则,返回FALSE。
语法
bool operator==(
const Bfile &srcBfile) const;
| 参数 | 描述 |
|---|---|
| srcBfile | 要与当前Bfile对象比较的Bfile对象。 |
operator!=()¶
比较两个Bfile对象是否相等。如果两个Bfile对象都引用同一个Bfile,则Bfile对象相等。如果Bfile对象不相等,则返回TRUE;否则,返回FALSE。
语法
bool operator!=(
const Bfile &srcBfile) const;
| 参数 | 描述 |
|---|---|
| srcBfile | 要与当前Bfile对象比较的Bfile对象。 |
read()¶
将BFILE的一部分或全部读入指定的缓冲区,并返回所读取的字节数。
比较两个Bfile对象是否相等。如果两个Bfile对象都引用同一个Bfile,则Bfile对象相等。如果Bfile对象不相等,则返回TRUE;否则,返回FALSE。
语法
unsigned int read(
unsigned int amt,
unsigned char *buffer,
unsigned int bufsize,
unsigned int offset = 1) const;
| 参数 | 描述 |
|---|---|
| amt | 要读取的字节数。有效值是大于或等于1的数字。 |
| buffer | 要读入BFILE数据的缓冲区。 |
| buffsize | 要读入BFILE数据的缓冲区的大小。有效值是大于或等于a mt的数字。 |
| offset | 从BFILE开始读取数据的起始位置。如果未指定偏移量, 则从BFILE开始写入数据。 |
setName()¶
设置BFILE的目录对象和文件名。(UString为字符集支持)
| 参数 | 描述 |
|---|---|
void setName( const string &dirAlias const string &fileName |
与BFILE关联的目录对象。 与BFILE关联的文件名 |
Connection* createConnection( const UString &dirAlias const UString &fileName |
与BFILE关联的目录对象。 与BFILE关联的文件名 |