注意,该代码运行在客户端!
{curl 8.0 applet}
{curl-file-attributes character-encoding = “utf8″}
{import * from CURL.GRAPHICS.ACTIVEX}
{let names:StringArray = {StringArray “code”, “channel”, “channel_count”, “name”,”voltage_standard”,”voltage_upper_limit”}}
{let domains:StringArray = {StringArray “String”,”int”, “int”, “String”,”int”,”int”}}
{let labels:StringArray={StringArray “代码”,”路”,”总路数”,”名称”,”标准”,”上限”}}
{let fields : {Array-of RecordField} = {{Array-of RecordField}}}
{for i:int=0 below names.size do
let domain: Domain = {Domain.from-type {evaluate domains[i]}}
{fields.append {RecordField names[i],domain = domain,caption=labels[i],nullable? = true}}
}
{let cn:ActiveXObject = {ActiveXObject ClsId = |”{00000514-0000-0010-8000-00AA006D2EA4}”|}}
{let cnstr:String = ” Driver=\{SQL Server\};Server=(local);Database=earrow;Uid=sa;Pwd=;” } || SQLServerの場合
{cn.Open cnstr}
{let sql:String = “SELECT code,channel,channel_count,name,voltage_standard,voltage_upper_limit from devices;”}
{let rs:ActiveXObject = {cn.Execute sql}}
{let rds : {Array-of RecordData} = {{Array-of RecordData}}}
{while {rs.EOF} == false do
let rd : RecordData = {RecordData}
{for i:int=0 below fields.size do
|| {output {rs.Fields names[i]}.Value}
let val:any = {rs.Fields names[i]}.Value
{switch fields[i].domain.type
case String do
set rd[ fields[i].name] = val
case int do
set rd[ fields[i].name] = val
}
}
{rds.append rd}
{rs.MoveNext}
}
{rs.Close}
{cn.Close}
{rs.destroy-object}
{cn.destroy-object}
{let rsg : RecordSet = {RecordSet {RecordFields {splice fields}}, {splice rds} } }
{let rg:RecordGrid = {RecordGrid width=16cm, height = 10cm, record-source = rsg,font-family = “宋体” } }
{value rg }
{curl 8.0 applet}{curl-file-attributes character-encoding = “utf8″}{import * from CURL.GRAPHICS.ACTIVEX}
{let names:StringArray = {StringArray “code”, “channel”, “channel_count”, “name”,”voltage_standard”,”voltage_upper_limit”}}
{let domains:StringArray = {StringArray “String”,”int”, “int”, “String”,”int”,”int”}}{let labels:StringArray={StringArray “代码”,”路”,”总路数”,”名称”,”标准”,”上限”}}
{let fields : {Array-of RecordField} = {{Array-of RecordField}}}{for i:int=0 below names.size do let domain: Domain = {Domain.from-type {evaluate domains[i]}} {fields.append {RecordField names[i],domain = domain,caption=labels[i],nullable? = true}}}
{let cn:ActiveXObject = {ActiveXObject ClsId = |”{00000514-0000-0010-8000-00AA006D2EA4}”|}}
{let cnstr:String = ” Driver=\{SQL Server\};Server=(local);Database=earrow;Uid=sa;Pwd=;” } || SQLServerの場合{cn.Open cnstr}
{let sql:String = “SELECT code,channel,channel_count,name,voltage_standard,voltage_upper_limit from devices;”}{let rs:ActiveXObject = {cn.Execute sql}}
{let rds : {Array-of RecordData} = {{Array-of RecordData}}}{while {rs.EOF} == false do let rd : RecordData = {RecordData} {for i:int=0 below fields.size do|| {output {rs.Fields names[i]}.Value} let val:any = {rs.Fields names[i]}.Value {switch fields[i].domain.type case String do set rd[ fields[i].name] = val case int do set rd[ fields[i].name] = val } } {rds.append rd} {rs.MoveNext}}{rs.Close}{cn.Close}{rs.destroy-object}{cn.destroy-object}
{let rsg : RecordSet = {RecordSet {RecordFields {splice fields}}, {splice rds} } }
{let rg:RecordGrid = {RecordGrid width=16cm, height = 10cm, record-source = rsg,font-family = “宋体” } }
{value rg }