This can be done much easier, for example:
Include %occUtility
Class dc.test Extends %Persistent [ ClassType = persistent, ProcedureBlock, SqlTableName = demo ]
{
Property Foo As %String [ SqlFieldName = FooBar ];
Property Bar As %Boolean;
ClassMethod Test()
{
; d ##class(dc.test).Test()
d ..%KillExtent()
&sql(insert into dc.demo(FooBar,Bar)values('f1',0))
&sql(insert into dc.demo(FooBar,Bar)values('f2',1))
&sql(insert into dc.demo(FooBar,Bar)values('f3',null))
s tablename=$$$comClassKeyGet(..%ClassName(1),$$$cCLASSsqlqualifiednameQ)
s rs=##class(%ResultSet).%New("%DynamicQuery:SQL")
d rs.Prepare("select * from "_tablename)
d rs.Execute()
while rs.Next() {
w ! f i=1:1:rs.GetColumnCount() w rs.GetColumnHeader(i)," = ",$$quote(rs.GetData(i))," "
}
d rs.%Close()
}
}Output:
USER>d ##class(dc.test).Test() ID = 1 Bar = 0 FooBar = "f1" ID = 2 Bar = 1 FooBar = "f2" ID = 3 Bar = "" FooBar = "f3"
- Log in to post comments