Appearance
C#接口使用说明
介绍
OPIO(C#)主要针对数据库表支持的增删改查执行操作,接口简单易用。数据库表支持的操作如下,对应的字段属性参考第二部分 数据库表结构。
使用说明
表 | 描述 | SELECT | INSERT | UPDATE | DELETE |
---|---|---|---|---|---|
DATABASE | 数据库表 | √ | √ | √ | √ |
NODE | 点表 | √ | √ | √ | √ |
POINT | 节点表 | √ | √ | √ | √ |
REALTIME | 实时数据表 | √ | √ | √ | × |
ARCHIVE | 历史数据表 | √ | √ | √ | √ |
STAT | 历史统计表 | √ | × | × | × |
ALARM | 实时报警表 | √ | × | × | × |
AALARM | 历史报警表 | √ | × | × | × |
接口
此处描述函数接口,更多使用示例请参考OPIO(C#) demo示例。
0.con = new OPAPI.Connect(string ip,int port,int timeout,string user, string password)
函数说明:建立连接
参数:
ip: 地址
port: 端口号
timeout:连接超时时间
user: 用户名
password:密码
返回值:
连接对象
1. con.isAlive()
函数说明:数据库连接状态判断
返回值:true,false
2. con.close()
函数说明:关闭连接
返回值:
3. resultSet=con.executeQuery(sql)
函数说明:通过SQL执行操作(增、删、改、查)
参数:
SQL: SQL语句
返回值:
结果对象
4. resultSet=con.insert(string tableName,string [] colNames,object[,] rows, Dictionary<string, object> options)
函数说明:OPIO(插入)
参数:
tableName: 表名
colNames: 字段名(列表)
rows: 插入数据(二维列表)
options: 可选参数
返回值:
结果对象
5. resultSet=con.delete(string tableName,string[] colNames,object[] keys)
函数说明:OPIO(删除)
参数:
tableName: 表名
colNames: 字段名(列表)
keys: 关键字(ID或GN列表)
返回值:
结果对象
6. resultSet=con.update(string tableName,string[] colNames,object[,] rows)
函数说明:OPIO(修改)
参数:
tableName: 表名
colNames: 字段名(列表)
rows: 插入数据(二维列表)
返回值:
结果对象
7. resultSet=con.select(string tableName,string[] colNames,object[]keys, Dictionary<string, object> options)
函数说明:OPIO(查询)
参数:
tableName: 表名
colNames: 字段名(列表)
keys: 关键字(ID或GN列表)
options: 可选参数(字典)
返回值:
结果对象
8. bNext=resultSet.Next()
函数说明:移动游标
返回值:
下移游标是否成功(布尔)
9. ahObject=con.openAsync(string tableName, event_cb cb, object[] keys)
函数说明:订阅
参数:
tableName: 表名
cb: 回调函数
keys: 关键字(ID或GN列表)
返回值:
结果对象
10. ahObject.add(object[] keys)
函数说明:增加动态订阅
参数:
keys: 关键字(ID或GN列表)
11. ahOject.remove(object[] keys))
函数说明:删除动态订阅
参数:
keys: 关键字(ID或GN列表)
12.colN=resultSet.columnLabel(int column)
函数说明:获取数据
参数:
column: 列号
返回值:
列名字
13.colV=resultSet.getValue(int colNum)
函数说明:获取数据
参数:
colNum: 字段名或者列号
返回值:
对应内容
注:其他获取对应类型接口见OPAPI中resultSet对象
14.resultSet.close()
函数说明:释放内存
15.常见问题
描述乱码问题
使用sql方法:
sql = "insert into Point (GN,ED) values ('W2.15010203-100A.一区注射压力_2','压力描述')";
byte[] byteArr = Encoding.UTF8.GetBytes(sql);
sql = Encoding.GetEncoding("gb2312").GetString(byteArr);
使用opio查询
string e = resultSet.getString("ED");
Byte[] eByte = Encoding.Default.GetBytes(e);
string eUtf8 = Encoding.UTF8.GetString(eByte);