Skip to content

C#接口使用说明

介绍

OPIO(C#)主要针对数据库表支持的增删改查执行操作,接口简单易用。数据库表支持的操作如下,对应的字段属性参考第二部分 数据库表结构。

使用说明

描述SELECTINSERTUPDATEDELETE
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);