First, I thanks so much for your help  Eduard Lebedyuk, I make a code the same below Classmethod and succeed get sql data to Setting.  But I have a new issue, DISPLAYLIST and VALUELIST (label and value of select box in setting) have the same value. Do you know some way to set different value to label and value of select box? example: DISPLAYLIST = TypeName and VALUELIST = TypeId.

Here my ClassMethod:

 ClassMethod GetPrdType(Output pCaption As %String, Output pTopResults, Output pResults, ByRef pParms As %String, pSearchKey As %String = "") As %Status
{
set tStatus = $$$OK
kill pResults, pTopResults
set pCaption = ""
set tStatement = ##class(%SQL.Statement).%New()
set strSQL="SELECT TypeId,TypeName FROM Demo_Data.PrdType"
     set tStatus = tStatement.%Prepare(strSQL)
if tStatus '= 1 Quit $$$ERROR($$$GeneralError, "No SQL Tables found")
     set rset = tStatement.%Execute()
while rset.%Next(.tStatus) {
set pResults($i(pResults)) = rset.%Get("TypeName")
}
quit tStatus
}