M语音相关知识(更新中..)

一、三种执行sql的方法

1.&sql(select name INTO :name from table)  

查询的是本地的数据,不需要适配器,通过打印SQLCODE返回执行状态

2.set sql="select name from table"

set tsc=..Adapter.ExecuteQuery(.res,sql)

res是查询的返回数据,可以通过网关查询到数据

3. set sql="select name from table" 

set statement = ##class(%SQL.Statement).%New()
set qStatus = statement.%Prepare(sql)
#dim errorNum As %SQL.StatementResult = statement.%Execute()

查询本地的数据,不需要适配器

二、通过HTTP方式调用接口

Set tResponse = ##class(%Net.HttpResponse).%New() 
Set tHttpRequestIn = ##class(%Net.HttpRequest).%New() 

//消息类型
Set tHttpRequestIn.ContentType="application/json"
Set tHttpRequestIn.ContentCharset="UTF-8"
Set tHttpRequestIn.ContentEncoding="UTF-8" 

//设置token

tHttpRequestIn.SetHeader("token","")

Set Status = ..Adapter.SendFormDataURL(URL,.tResponse,"POST",tHttpRequestIn,,,STR)

STR是消息内容,URL是地址tResponse是返回消息

//如果三方接口是http:localhost/list?name=''&age='' 这样的话采用下面的方式进行操作

tHttpRequestIn.InsertFormData("name","")

tHttpRequestIn.InsertFormData("age","")

Set Status = ..Adapter.SendFormDataURL(URL,.tResponse,"POST",tHttpRequestIn,,,)

三、通过SOAP方式调用接口

1.Set tSC = ..Adapter.InvokeMethod(MethodName,.tResult,"参数1","参数2"...)
2.可以通过递归的方式动态设置参数

  set endstr=dataArr.%Pop()//最后一个参数
  set tres=..Invoke(dataArr,endstr)//参数数据,最后一个参数

Method Invoke(arr As %DynamicArray, args...) As %String
{
	s size = arr.%Size()
	if (size > 1){
		s temp = arr.%Pop()
		d ..Invoke(arr, temp, args...)	 
	} else {
		if (size = 0) {
			s tsc = ..Adapter.InvokeMethod(..methodname, .Result, args...)
		} else {
			s temp = arr.%Pop()
			s tsc = ..Adapter.InvokeMethod(..methodname, .Result, temp, args...)
		}
		if (tsc){
			s ^||result = Result
		}else{
			$$$LOGERROR($SYSTEM.Status.GetErrorText(tsc))
			s ^||result = "Error"
		}
	}
	q ^||result
}

四.文件的导入导出(xml)

Set tSC= $system.OBJ.Export(类名_".cls",文件路径_"\"_$p(类名,".",*)_".xml")

Set tSC= $system.OBJ.Load(文件路径,"cbrpsuy")

五、方法 

1.大小写转换

        $zcvt("AAA","L") 转小写 
        $zcvt("aaa","U") 转大写

2.时间

    时区偏移量    $ZTZ
    正常    $zdt($h,3)
    毫秒级    $zdt($ztimestamp,3,,3)
    周几    $zd($h,10)
    时间戳    $SYSTEM.SQL.DATEDIFF("ms","1970-01-01 00:00:00.000",$zdt($zts,3,,3))
    时间加减    年-yy;季度-qq;月-mm;周-wk;日-dd;时-hh;分-mi;秒-ss;毫秒-ms
        s Atime = $system.SQL.DATEADD("wk",+1,Atime)
    计算时间差    DATEDIFF("日期部分",开始日期,结束日期)
        s diff = $system.SQL.DATEDIFF("ss",time1,time2)

        

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值