set语句

<wbr></wbr>


将对象引用赋给变量或属性。
语法
Set objectvar = {[New] objectexpression | Nothing}
Set 语句的语法包含下面部分:
部分 描述
objectvar 必需的。变量或属性的名称,遵循标准变量命名约定。
New 可选的。通常在声明时使用 New,以便可以隐式创建对象。如果 New 与 Set 一起使用,则将创建该类的一个新实例。如果 objectvar 包含了一个对象引用,则在赋新值时释放该引用。不能使用 New 关键字来创建任何内部数据类型的新实例,也不能创建从属对象。
objectexpression 必需的。由对象名,所声明的相同对象类型的其它变量,或者返回相同对象类型的函数或方法所组成的表达式。
Nothing 可选的。断绝 objectvar 与任何指定对象的关联。若没有其它变量指向 objectvar 原来所引用的对象,将其赋为 Nothing 会释放该对象所关联的所有系统及内存资源。
说明
为确保合法,objectvar 必须是与所赋对象相一致的对象类型。
Dim、Private、Public、ReDim以及 Static 语句都只声明了引用对象的变量。在用 Set 语句将变量赋为特定对象之前,该变量并没有引用任何实际的对象。
下面的示例说明了如何使用 Dim 来声明 Form1 类型的数组。Form1 实际上还没有实例。然后使用 Set 将新创建的 Form1 的实例的引用赋给 myChildForms 变量。在 MDI 应用程序中可以使用这些代码来创建子窗体。
Dim myChildForms(1 to 4) As Form1
Set myChildForms(1) = New Form1
Set myChildForms(2) = New Form1
Set myChildForms(3) = New Form1
Set myChildForms(4) = New Form1
通常,当使用 Set 将一个对象引用赋给变量时,并不是为该变量创建该对象的一份副本,而是创建该对象的一个引用。可以有多个对象变量引用同一个对象。因为这些变量只是该对象的引用,而不是对象的副本,因此对该对象的任何改动都会反应到所有引用该对象的变量。不过,如果在 Set 语句中使用 New 关键字,那么实际上就会新建一个该对象的实例。

注:以上转自http://hi.baidu.com/zhw0626/blog/item/44e5f189c58e67b00e24446f.html

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

【关于 Get、Set 和 Let】

Get就是取属性值
Set就是给对象属性赋值
Let传一个变量
当一个类要向外部公开一个属性(变量)时有两种做法:
1.可直截了当地用Public声明这个变量,这样外部过程就可轻而易举地读写这个变量;
2.用Private声明变量,然后用Property Get.../Property Let...过程向外部公开这个属性(只读/只写)。在Property过程里,可加入数据合法性验证代码,任何读写这个属性的外部过程都必须通过 Property过程的合法性验证,这就是所谓的封装,这样的类更加强健。
事实上,即便我们Public声明属性,VB在后台总是用第二种方法处理这个属性。
当这个变量是一个对象变量(Object)时,用Property Set...过程。

<think>嗯,用户想了解IoTDB中SET语句的用法或相关问题。我需要先回忆一下IoTDB的文档内容。记得SET语句通常用于设置系统参数或客户端配置,比如时区、查询超时时间等。可能用户遇到了配置上的问题,或者在使用SET时遇到了错误。 首先,我应该确认SET语句的具体语法和可用参数。比如设置时区的命令是`SET time_zone=+08:00`,或者设置查询超时是`SET timeout=60000`。可能用户在使用时格式错误,比如等号两边有空格,或者参数值不符合要求,导致错误。常见的错误可能有“Invalid value format”或者“Unsupported parameter”。 然后,需要考虑用户可能遇到的错误场景。例如,设置不存在的参数名,或者值类型不正确,比如字符串给了一个数字参数。这时候需要提示用户检查参数名是否正确,值格式是否符合要求。另外,时区设置可能需要特定的格式,如+08:00而不是北京时区这样的文本。 另外,用户可能在使用客户端工具时,没有正确应用SET的设置,比如在JDBC连接中需要在URL里指定参数,或者在Session中设置参数后需要确认是否生效。可能还需要提到权限问题,普通用户是否有权限修改某些系统参数。 还需要参考之前用户提到的引用内容,引用[1]提到IoTDB的安装和使用,引用[2]提到SpringBoot中多数据源的配置,但当前问题主要关于SET语句,可能需要结合配置方面的内容。比如在JDBC连接字符串中设置参数,或者通过Session设置。 最后,生成相关问题时要围绕SET语句的扩展使用,比如如何持久化配置、权限管理、查看当前参数等。确保覆盖用户可能进一步询问的方向。</think>### IoTDB SET语句使用说明 #### 1. SET语句基本功能 SET语句在IoTDB中主要用于**运行时参数配置**,支持动态调整客户端或服务端的操作参数,例如: - 客户端显示格式:`SET time_display_type=ISO8601` - 时区设置:`SET time_zone=+08:00` - 查询超时时间:`SET timeout=60000`(单位:毫秒) - 页大小:`SET fetch_size=1000`[^1] #### 2. 语法规范 ```sql SET <parameter_name>=<value> ``` 必须注意: - **等号两侧不能有空格** - 参数值需符合数据类型要求 - 大小敏感(参数名全小) #### 3. 常见错误及解决方法 | 错误类型 | 示例 | 解决方案 | |---------|------|---------| | 无效参数名 | `SET invalid_param=123` | 使用`SHOW VARIABLES`查看合法参数列表 | | 值格式错误 | `SET time_zone=Beijing` | 使用标准时区格式`+08:00` | | 权限不足 | `Access denied for SET` | 需要`ADMIN`权限参数需系统管理员操作 | | 客户端不生效 | 设置后查询结果未改变 | 检查是否在相同会话中执行,部参数需重连生效[^2] | #### 4. 应用示例 ```sql -- 设置查询超时时间为60秒 SET timeout=60000 -- 设置浮点数显示精度 SET floating_point_precision=4 -- 设置时区为东八区 SET time_zone=+08:00 ``` #### 5. 参数持久化 通过`conf/iotdb-common.properties`文件可进行永久配置: ```properties # 默认查询超时时间(毫秒) query_timeout_threshold=60000 # 时区配置 time_zone=+08:00 ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值