"stringing a query"

Is it possible, or how do I compile the results of a query
column into one string.
for example... If I query a table and the query results
brings back 5 rows for column a:
(results)
Column A
1
2
3
3
4
How do I get coldfusion to enter all five results into one
variable.
So my end result is I want a new variable (lets call it
"var1") to be as follows:
var1 = 1 2 3 3 4
thanks

if you want to create a comma-delimited list, use
<CFSET foo = ValueList(myQueryName.myVariables)>
To create a space-delimited list, use
<CFSET foo = ValueList(myQueryName.myVariables, "
")>

Similar Messages

  • Powershell use Connection String to query Database and write to Excel

    Right now I have a powershell script that uses ODBC to query SQL Server 2008 / 2012 database and write to EXCEL
    $excel = New-Object -Com Excel.Application
    $excel.Visible = $True
    $wb = $Excel.Workbooks.Add()
    $ws = $wb.Worksheets.Item(1)
    $ws.name = "GUP Download Activity"
    $qt = $ws.QueryTables.Add("ODBC;DSN=$DSN;UID=$username;PWD=$password", $ws.Range("A1"), $SQL_Statement)
    if ($qt.Refresh()){
    $ws.Activate()
    $ws.Select()
    $excel.Rows.Item(1).HorizontalAlignment = $xlCenter
    $excel.Rows.Item(1).VerticalAlignment = $xlTop
    $excel.Rows.Item("1:1").Font.Name = "Calibri"
    $excel.Rows.Item("1:1").Font.Size = 11
    $excel.Rows.Item("1:1").Font.Bold = $true
    $filename = "D:\Script\Reports\Status_$a.xlsx"
    if (test-path $filename ) { rm $filename }
    $wb.SaveAs($filename, $xlOpenXMLWorkbook) #save as an XML Workbook (xslx)
    $wb.Saved = $True #flag it as being saved
    $wb.Close() #close the document
    $Excel.Quit() #and the instance of Excel
    $wb = $Null #set all variables that point to Excel objects to null
    $ws = $Null #makes sure Excel deflates
    $Excel=$Null #let the air out
    I would like to use connection string to query the database and write results to EXCEL, i.e.
    $SQL_Statement = "SELECT ..."
    $conn = New-Object System.Data.SqlClient.SqlConnection
    $conn.ConnectionString = "Server=10.10.10.10;Initial Catalog=mydatabase;User Id=$username;Password=$password;"
    $conn.Open()
    $cmd = New-Object System.Data.SqlClient.SqlCommand($SQL_Statement,$conn)
    do{
    try{
    $rdr = $cmd.ExecuteReader()
    while ($rdr.read()){
    $sql_output += ,@($rdr.GetValue(0), $rdr.GetValue(1))
    $transactionComplete = $true
    catch{
    $transactionComplete = $false
    }until ($transactionComplete)
    $conn.Close()
    How would I read the columns and data for $sql_output into an EXCEL worksheet. Where do I find these tutorials?

    Hi Q.P.Waverly,
    If you mean to export the data in $sql_output to excel document, please try to format the output with psobject:
    $sql_output=@()
    do{
    try{
    $rdr = $cmd.ExecuteReader()
    while ($rdr.read()){
    $sql_output+=New-Object PSObject -Property @{data1 = $rdr.GetValue(0);data2 =$rdr.GetValue(1)}
    $transactionComplete = $true
    catch{
    $transactionComplete = $false
    }until ($transactionComplete)
    $conn.Close()
    Then please try to use the cmdlet "Export-Csv" to export the data to excel like:
    $sql_output | Export-Csv d:\data.csv
    Or you can export to worksheet like:
    $excel = New-Object -ComObject Excel.Application
    $excel.Visible = $true
    $workbook = $excel.Workbooks.Add()
    $sheet = $workbook.ActiveSheet
    $counter = 0
    $sql_output | ForEach-Object {
    $counter++
    $sheet.cells.Item($counter,1) = $_.data1$sheet.cells.Item($counter,2) = $_.data2}
    Refer to:
    PowerShell and Excel: Fast, Safe, and Reliable
    If there is anything else regarding this issue, please feel free to post back.
    Best Regards,
    Anna Wang

  • How to convert LongRaw to String when querying using DB Adapter?

    Hi All,
    How do we use a DB Adapter to query on LONG Raw data? Is there a way to implicitly convert data to a string before returning the resultSet?
    JDev: 11.1.1.4
    Regards.

    Hi,
    LONG RAW data will be retrieved as base64binary, you can use and Embed Java to convert it back to string.
    How to convert String to base64Binary in BPEL process
    Or you can use doTranslateFromNative oracle extension function, you will need a NXSD template to use it.
    http://docs.oracle.com/cd/E15523_01/integration.1111/e10224/bp_appx_functs.htm#CJACABGA
    Cheers,
    Vlad

  • A text with strings from query - how???

    There is on-demand process, that return text to text-area element.
    DECLARE
    LIST_OF_APP varchar2(32000) := '';
    BEGIN
    BEGIN
    FOR i IN (SELECT TITLE, TIMEOFCHECK FROM ACTIVEWINDOWSOFUSERS WHERE NUMBEROFPROCCESS=:STATE_SR AND MYUSER=:USERID_SR ) loop
    LIST_OF_APP := LIST_OF_APP||~??????~ ||i.TITLE ||', '|| i.TIMEOFCHECK;
    END LOOP;
    exception when no_data_found then null;
    END;
    htp.prn(LIST_OF_APP);
    end;
    But my text return to me as ONE ROW, and I don't know - how to split it into different rows. I know ~empsep~, ~colsep~ - but have no idea about STRING SEP!
    I've try `~rowsep~` - but it doesn't work.
    Help me. Please,please,please...

    <script type="text/javascript">
    function application_in_detail(state,uid){
    var get = new htmldb_Get(null,&APP_ID.,'APPLICATION_PROCESS=GetApplications',0);
    get.add('STATE_SR',state);
    get.add('USERID_SR',uid);
    gReturn = get.get();
    if(gReturn)
    {//document.write(gReturn);
    var resp=gReturn.split('mysep');
    var resText='';
    for (i=0; i < resp.length; i++)
    {resText=resText+resp[i]+CHR(13)}
    html_GetElement('TITLES').value=resText; }
    get=null;
    </script>
    It falls with "error on the page"..
    I believe that I am close to end - but what have I to put on th e place CHR(13)???

  • Create field list as a string in Query of Query

    Can you please correct this query
    <cfquery name="getView" datasource="#Application.DSN_GDX#">
    select * from vstr_entity_mast_y where tax_year=2011
    </cfquery>
    <cfset checkedImgStr = "<img src=../stir_images/checked.jpg>">
    <cfset loopStr = "">
    <cfset variables.listIds = "BNSR,BNSS,VIEW">
    <cfloop index="Fld" list="#variables.listIds#">
    <cfset loopStr = loopStr&'<img src=../stir_images/checked.jpg>'& " as [#Fld#],">
    </cfloop>
    <cfset P_loopStr = replace(loopStr, "<img src=../stir_images/checked.jpg>", "'<img src=../stir_images/checked.jpg>'", "all")>
    <cfquery name="getPrivByUser" dbtype="query">
    select entity_id, entity_name,#P_loopStr# leid
    from getView
    </cfquery>
    I am getting this error:
    Encountered "<. Incorrect Select Statement, Expecting a 'FROM', but encountered '<' instead, A select statement should have a 'FROM' construct.

    In  view of the comma at the end of loopStr, I will assume that leid is a column name. Then the likely cause of the error is ColdFusion escaping the single quotes you added. To prevent this, modify the select statement to
    select entity_id, entity_name,#preserveSingleQuotes(P_loopStr)# leid

  • String Search Query in any columns in any table in a database

    Hi All,
    I am trying to search a word which starts with 'FRA' in any columns and any tables.
    I am unable tofind what is generating a join datasets in the webservice from teh database as it is not apparent within teh 100 tables.
    I ahve looked into
    Re: How to search in all rows and all columns?
    Re: SQL Search Query - HELP!
    but none of these queries is working out for me as I am a user with no tables on its own but rather a user quering other tables.I think its a tweak on which dat adisctionary I can view
    select distinct substr (table_name, 1, 14) "Table",
    substr (t.column_value.getstringval (), 1, 50) "Column/Value"
    from all_cons_columns,
    table
    (xmlsequence
    (dbms_xmlgen.getxmltype ('select ' || column_name
    || ' from ' || table_name
    || ' where upper('
    || column_name
    || ') like upper(''%' || 'fra'
    || '%'')'
    ).extract ('ROWSET/ROW/*')
    ) t
    order by "Table";
    running teh above query got me thsi error:
    ORA-19202: Error occurred in XML processing
    ORA-00942: table or view does not exist
    ORA-06512: at "SYS.DBMS_XMLGEN", line 288
    ORA-06512: at line 1
    19202. 00000 - "Error occurred in XML processing%s"
    *Cause:    An error occurred when processing the XML function
    *Action:   Check the given error message and fix the appropriate problem
    Any help is much appreciated
    Edited by: CrackerJack on Sep 3, 2012 5:55 PM
    Edited by: CrackerJack on Sep 3, 2012 5:55 PM

    Hi,
    CrackerJack wrote:
    Hi All,
    I am trying to search a word which starts with 'FRA' in any columns and any tables.
    I am unable tofind what is generating a join datasets in the webservice from teh database as it is not apparent within teh 100 tables.
    I ahve looked into
    Re: How to search in all rows and all columns?
    Re: SQL Search Query - HELP!
    but none of these queries is working out for me as I am a user with no tables on its own but rather a user quering other tables.I think its a tweak on which dat adisctionary I can view In all_<b>cons</b>_columns, "cons" stands for "constraints". That view only includes columns that have a constraint on them. 
    Use all_<b>tab</b>_columns if you're interested in all columns in all tables.
    select distinct substr (table_name, 1, 14) "Table",
    substr (t.column_value.getstringval (), 1, 50) "Column/Value"
    from all_cons_columns,
    table
    (xmlsequence
    (dbms_xmlgen.getxmltype ('select ' || column_name
    || ' from ' || table_name
    || ' where upper('
    || column_name
    || ') like upper(''%' || 'fra'
    || '%'')'
    ).extract ('ROWSET/ROW/*')
    ) t
    order by "Table";You may have noticed that this site noramlly compresses whitespace.
    Whenever you post formatted text (such as query results) on this site, type these 6 characters:
    \(small letters only, inside curly brackets) before and after each section of formatted text, to preserve spacing.
    When referencing a table in a differenct schema, you must qualify the table name with the owner (unless there happens to be a synonym).  For example, if you are connected as some user other than scott, and you want to use the emp table that is in the scott schema; then you can't just say "SELECT ... FROM emp;", because that would look for the emp table in yur own schema.  You have to say "SELECT ... FROM <b>scott.</b>emp;" instead.  If the table is in your own schema, then the scema name is optional.  The OWNER column in all_tab_columns gives the schema name.
    running teh above query got me thsi error:
    ORA-19202: Error occurred in XML processing
    ORA-00942: table or view does not exist
    ORA-06512: at "SYS.DBMS_XMLGEN", line 288
    ORA-06512: at line 1
    19202. 00000 - "Error occurred in XML processing%s"
    *Cause:    An error occurred when processing the XML function
    *Action:   Check the given error message and fix the appropriate problemSorry, I don't know what causes that error.
    If I use the data dictionary view cols (as in {message:id=3325696} which you cited), it runs correctly.
    If use what I though was the equivalent data dictionary view, user_tab_columns, or if I use all_tab_columns or other data dictionary views, then I get those errors.  I'm using Oracle 10.2.0.1.0.
    Edited by: Frank Kulash on Sep 3, 2012 10:45 PM
    John Spencer noticed the same problem 5 years ago.  See {message:id=1969268}                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           

  • Performance Issue - Index is not used when a zero padded string is queried

    Hi All,
    I have a table T1 which has many columns. One such column say C1 is a varchar2(20). T1 has 10 million rows and there is an index called I1 on C1. Stats are current for both tables and indexes. These are the scenarios:
    Scenario 1
    select *   from T1 where C1 = '0013206263' --Uses index I1
    187 ms
    Scenario 2
    select *   from T1 where C1 = '8177341863' --Uses index I1
    203 ms
    *Scenario 3*
    *select *   from T1 where C1 = '0000000945' --Uses Fulll Table Scan --Very Slow*
    *45 seconds*
    When I force the sql to use the index through a hint, it is working fine:
    Scenario 4
    select /*+ INDEX (t1 i1) */  *   from T1 where C1 = '0013206263' --Uses index I1
    123 ms
    Scenario 5
    select /*+ INDEX (t1 i1) */  *   from T1 where C1 = '8177341863' --Uses index I1
    201 ms
    *Scenario 6*
    *select /*+ INDEX (t1 i1) */  *   from T1 where C1 = '0000000945' --Uses index I1*
    *172ms*Is there any reason for this performance issue? Why does the optimizer goes for FTS in Scenario 3?
    Edited by: user539954 on May 14, 2009 12:22 PM
    Edited by: user539954 on May 14, 2009 12:32 PM

    user539954 wrote:
    Please see the replies below:
    - How many distinct values for C1 out of that 10 million rows? I'm guessing that histograms were created for C1, correct?
    =>7 million distinct c1 values. I have not gathered a histogram yet. Should I try that?
    SQL> explain plan for select * from T1  where C1 = '0000000954';
    | Id  | Operation         | Name           | Rows  | Bytes | Cost (%CPU)|
    |   0 | SELECT STATEMENT  |                |   244K|    19M| 26228   (5)|
    |   1 |  TABLE ACCESS FULL| T1 |   244K|    19M| 26228   (5)|
    SQL> explain plan for select * from T1  where C1 = '0033454555';
    | Id  | Operation                   | Name               | Rows  | Bytes | Cost (%CPU)|
    |   0 | SELECT STATEMENT            |                    |   532 | 43624 |   261   (0)|
    |   1 |  TABLE ACCESS BY INDEX ROWID| T1     |   532 | 43624 |   261   (0)|
    |   2 |   INDEX RANGE SCAN          | I1 |   532 |       |     2   (0)|
    It's possible you do have a histogram, even though you didn't plan on creating it, if you're running 10g.
    In the absence of a histogram and with 7M distinct keys in 10M rows, Oracle should have predicted 2 rows for both queries, not 244,000 and 532.
    If you do have a histogram, you probably need to get rid of it.
    Regards
    Jonathan Lewis
    http://jonathanlewis.wordpress.com
    http://www.jlcomp.demon.co.uk
    "Science is more than a body of knowledge; it is a way of thinking"
    Carl Sagan
    To post code, statspack/AWR report, execution plans or trace files, start and end the section with the tag {noformat}{noformat} (lowercase, curly brackets, no spaces) so that the text appears in fixed format.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               

  • Example to use Query String in Oracle Access Manager Policy.

    Hi All,
    Can any one please tell me what is the use of Query String and Query String Variable in OAM Policy?
    If possible please explain with a sample example.
    Thanks in Advance.
    Siva Pokuri.

    Query string is used to protect URL with complete query string.
    Ex: in case you want to protect http://hi.com/first.html?uid=abc&pqr=123 URL then you will specify query string as uid=abc&pqr=123.
    In case you want to protect a URL with one of the query parameter as xyz and you do not care of other query parameters, then query string variables are used.
    Ex: in case you want to protect http://hi.com/first.html?uid=abc&pqr=123 and http://hi.com/first.html?uid=abc&pqr=456 both with same policy then you will create a policy to protect first.html and in query string variables you will specify uid=abc.
    Let me know if you have any problems in understanding this.
    Thanks
    Kiran Thakkar

  • Set Query String Parameter

    What I am trying to do is to check whether does that variable exist in the querystring, if it does change the value to another value.
    How am I suppose to do abt doing that?

    Well, it's not too complex to do it with java... here is a simple example:
    public class QueryStringChanger
         public static String changeParameter(String query, String key, String value)
              String[] keyValuePairs = query.split("&");
              StringBuffer newQuery = new StringBuffer();
              for (int k = 0; k < keyValuePairs.length; k++)
                   if (keyValuePairs[k].indexOf(key) != -1)
                        String[] thePair = keyValuePairs[k].split("=");
                        keyValuePairs[k] = thePair[0] + "=" + value;
                   if (k != 0) newQuery.append("&");
                   newQuery.append(keyValuePairs[k]);
              return newQuery.toString();
         public static void main(String[] args)
              if (args.length != 3)
                System.out.println("Syntax: java QueryStringChanger 'the query string' theKey theValue\n"+
                                   "Example: java QueryStringChanger page=1&area=3&title=Not+So+Good title Pretty+Darn+Good");
                System.exit(1);
              System.out.println(changeParameter(args[0], args[1], args[2]));
              System.exit(0);
    }Not so sure what you would gain from a HashTable though...

  • Set query string programmatically

    Is there a way to set the query string of a report programmatically at runtime? Something like clientDoc.setQueryString( query ).
    Thanks

    Well, it's not too complex to do it with java... here is a simple example:
    public class QueryStringChanger
         public static String changeParameter(String query, String key, String value)
              String[] keyValuePairs = query.split("&");
              StringBuffer newQuery = new StringBuffer();
              for (int k = 0; k < keyValuePairs.length; k++)
                   if (keyValuePairs[k].indexOf(key) != -1)
                        String[] thePair = keyValuePairs[k].split("=");
                        keyValuePairs[k] = thePair[0] + "=" + value;
                   if (k != 0) newQuery.append("&");
                   newQuery.append(keyValuePairs[k]);
              return newQuery.toString();
         public static void main(String[] args)
              if (args.length != 3)
                System.out.println("Syntax: java QueryStringChanger 'the query string' theKey theValue\n"+
                                   "Example: java QueryStringChanger page=1&area=3&title=Not+So+Good title Pretty+Darn+Good");
                System.exit(1);
              System.out.println(changeParameter(args[0], args[1], args[2]));
              System.exit(0);
    }Not so sure what you would gain from a HashTable though...

  • _layouts/Authenticate.aspx losing Query String Parameters in redirection

    Hi,
    we are losing query strings when _layouts/Authenticate.aspx redirects to a application page after user authentication.
    Example shown below
    http Request is shown below
    /_layouts/Authenticate.aspx?Source=http://ourwebsite.com/somepage.aspx?paramapp=testapp&paramdata=testdata
    redirection happens fine, but all the query string expect the first gets truncated.
    In the above the example paramdata gets truncated

    Hi Chandan, 
    please have a check if should this situation applied, i just talked with my colleague regarding this,
    if you are using OOB, there are a set on AAM that may not eligible to do so, for example there is an encoding feature on it, sharepoint by design may not able to receive this because security concern.
    "When the AAM redirect is configured requests for data that doesn't exist in the local farm is directed to another farm.  If this request contains a query string, the query string is dropped"
    Regards,
    Aries
    Microsoft Online Community Support
    Please remember to click “Mark as Answer” on the post that helps you, and to click “Unmark as Answer” if a marked post does not actually answer your question. This can be beneficial to other community members reading the thread.

  • Query running fine in one environment but failing in other environment

    Hi,
    I have a query which i am trying to execute in two different environments.
    Test :- Oracle Database 11g Release 11.2.0.1.0 - 64bit Production
    Prod:- Oracle Database 11g Release 11.2.0.1.0 - 64bit Production
    Now query executes finely in one environment and fails in other environment.
    It gives following error.
    ORA-01861: literal does not match format string
    01861. 00000 - "literal does not match format string"
    The query is too long and contains CHAR-DATE and DATE-CHAR conversions.
    The same query works fine on TEST environment and and fails on PROD environment.
    Any help related to it would be appreciated.
    Thanks,
    Mahesh

    MaheshGx wrote:
    Hi,
    I have a query which i am trying to execute in two different environments.
    Test :- Oracle Database 11g Release 11.2.0.1.0 - 64bit Production
    Prod:- Oracle Database 11g Release 11.2.0.1.0 - 64bit Production
    Now query executes finely in one environment and fails in other environment.
    It gives following error.
    ORA-01861: literal does not match format string
    01861. 00000 - "literal does not match format string"
    The query is too long and contains CHAR-DATE and DATE-CHAR conversions.
    The same query works fine on TEST environment and and fails on PROD environment.
    Any help related to it would be appreciated.
    Thanks,
    MaheshThat's called a bug. One caused by the person who developed the code. They relied on implicit conversion between strings and dates when
    production quality code will always use to_char and to_date functions with a format mask.

  • FS - Error code 3006 from SQL-Query

    Hello world!
    Can someone inform me which possible errors in a query cause the following error message after the query is activated?
    Internal Error (3006) Message [131-183]
    Until now I had only error code 1003, which signals syntax errors etc. in the query.
    By the way: Does anywhere exists a list of error codes/messages occuring in SAP B1?
    Thank you!
    Frank Romeni

    Error codes and their description can be found in SDK help files
    I have pasted them below for your ref
    -39
    End of File
    -43
    File not Found
    -47
    File is Busy
    -50
    File Cannot Open
    -51
    File Corrupted
    -99
    Division by Zero
    -100
    Out of Memory
    -101
    Print Error
    -103
    Print Canceled
    -104
    Money Overflow
    -111
    Invalid Memory Access
    -199
    General Error
    -213
    Bad Directory
    -214
    File Already Exists
    -216
    Invalid File Permission
    -217
    Invalid Path
    -1001
    Data Source - Bad Column Type
    -1003
    Data Source - Alias Not Found
    -1004
    Data Source - Value Not Found
    -1005
    Data Source - Bad Date
    -1012
    Data Source - No Default Column
    -1013
    Data Source - Zero/Blank Value
    -1015
    Data Source - Integer Overflow
    -1016
    Data Source - Bad Value
    -1022
    Data Source - Other File Not Related
    -1023
    Data Source - Other Key Not In Main Key
    -1025
    Data Source - Array Record Not Found
    -1027
    Data Source - Value Must Be Positive
    -1028
    Data Source - Value Must Be Negative
    -1029
    Data Source - Column Cannot be updated
    -1100
    Data Source - Cannot Allocate Environment
    -1101
    Data Source - Bad Connection
    -1102
    Data Source - Connection Not Opened
    -1103
    Data Source - DB Already Exists
    -1104
    Data Source - Cannot Create Database
    -1200
    Data Source - Data Bind General Error
    -2001
    Data Source - Bad Parameters
    -2003
    Data Source - Too Many Tables
    -2004
    Data Source - Table Not Found
    -2006
    Data Source - Bad Table Definition
    -2007
    Data Source - Bad Data Source
    -2010
    Data Source - Bad Data Source Offset
    -2013
    Data Source - No Fields In Table
    -2014
    Data Source - Bad Field Index
    -2015
    Data Source - Bad Index Number
    -2017
    Data Source - Bad Alias
    -2020
    Data Source - Bad Alias
    -2022
    Data Source - Bad Field Level
    -2024
    Data Source - Not Matching Data Source
    -2025
    Data Source - No Keys In Table
    -2027
    Data Source - Partial Data Found
    -2028
    Data Source - No Data Found
    -2029
    Data Source - No Matching Field
    -2035
    Data Source - Duplicate Keys
    -2038
    Data Source - Record Lock
    -2039
    Data Source - Data Was Changed
    -2045
    Data Source - End of Sort
    -2049
    Data Source - Not Opened for Write
    -2056
    Data Source - No Matching With Current Data Source
    -2062
    Data Source - Bad Container Offset
    -3001
    Query - Field Not Found
    -3003
    Query - Bad Data Source
    -3004
    Query - Bad Token
    -3005
    Query - Token After End
    -3006
    Query - Unexpected End
    -3008
    Query - Too Long Query
    -3009
    Query - Extra Right Parenthesis
    -3010
    Query - Missing Right Parenthesis
    -3012
    Query - No Operation Code
    -3013
    Query - No Field In Comparison
    -3014
    Query - Bad Condition
    -3015
    Query - Bad Sort List
    -3017
    Query - No String
    -3018
    Query - Too Many Fields
    -3019
    Query - Too Many Indexes
    -3020
    Query - Too Many Tables
    -3021
    Query - Reference Not Found
    -3022
    Query - Bad Range Set
    -3023
    Query - Bad Parsing
    -3025
    Query - Data Bind is Missing
    -3026
    Query - Bad Input
    -3027
    Query - Progress Aborted
    -3028
    Query - Bad Table Index
    -3032
    Query - General Failure
    -3033
    Query - Empty Record
    -3036
    Query - Bad Parameter
    -3037
    Query - Missing Table in List
    -3040
    Query - Bad Operation
    -3041
    Query - Bad Expression
    -3042
    Query - Name Already Exists
    -3044
    Query - Time Expired
    3001
    Form - Is Not Initialized
    3002
    Form - Bad Data Source
    3003
    Form - Exceeded Data Sources Limit
    3006
    Form - Invalid Form Item
    3007
    Form - Exceeded Forms Limit
    3009
    Form - Too Many Saved Data
    3012
    Form - Invalid Form
    3015
    Form - Cannot Get Multi-Line Edit
    3016
    Form - Bad Item Type
    3017
    Form - Bad Parameter
    3023
    Form - No Message Callback
    3029
    Form - Item Is Not Selectable
    3031
    Form - Bad Value
    3033
    Form - Item Not Found
    4007
    Grid - Invalid
    4008
    Grid - Bad Size
    4009
    Grid - No Data
    4011
    Grid - Invalid Parameters
    4013
    Grid - Not Super Title
    4014
    Grid - Super Title 2 Exits
    4015
    Bad Item Unique ID
    4016
    Grid - Bad Data
    4017
    Grid - Column is Already Folded
    4018
    Grid - Column is Already Expanded
    4019
    Grid - Line Exists
    4020
    Grid - Not Enough Data
    4022
    Grid - Super Title Exists
    4027
    Grid - Row Is Not Collapsible
    8004
    Status Bar - No Such Info
    8005
    Status Bar - Info Occupied
    8006
    Status Bar - No Message Bar
    8007
    Status Bar - Progress Stopped
    8008
    Status Bar - Too Many Progress
    5001
    Graph - Invalid
    5002
    Graph - Bad Form Item
    5005
    Graph - Bad Parameters
    -7008
    Form not found
    -7000
    Invalid Form
    -7031
    Form - Reserved /Illegal form Unique ID
    -7032
    Form - Invalid Mode
    -7006
    The item is not a user defined item and cannot be manipulated in such manner
    -7005
    Invalid table name
    -7004
    XML batch load failed
    -7003
    Menu operation Add failed
    -7002
    Function not supported
    -7001
    Invalid Item
    -7034
    Could not clear item in group
    -7033
    Out of boundaries
    -7020
    This method cannot be invoked by a Cell object
    -7019
    Invalid form unique ID. Should not begin with an F_ prefix
    -7018
    Invalid Field Value
    -7017
    Invalid Field Name
    -7016
    This datasource object is not a user-defined object
    -7015
    Invalid Column
    -7014
    A Column object with the specified unique ID already exists in the system.
    -7013
    The string value entered should be less then 10 characters.
    -7012
    An Item object with the specified unique ID already exists in the system.
    -7011
    The string value entered should be less then 11 characters.
    -7010
    A form with the requested unique ID already exists in the system.
    -7009
    The string value entered should be less the 32 characters.
    -7040
    Cannot Load XML File
    -7051
    Unexpected usage of the specified XML TAG.
    -7050
    This action type is not valid or not implemented yet.
    -7043
    Cannot load the Menu resource from the specified XML file.
    -7042
    Cannot load the Item resource from the specified XML file.
    -7041
    Cannot load the Form resource from the specified XML file.
    -7071
    Failed to create the items group.
    -7070
    UID
    -7069
    Failed to change the form current pane level.
    -7068
    Failed to change the form color.
    -7067
    Failed to change the Form mode.
    -7066
    Failed to fix the form default button.
    -7065
    Failed to change the form Visible state.
    -7064
    Could not change the form title.
    -7063
    The change of form dimensions has failed
    -7062
    Unknown Form attribute
    -7061
    XML batch resource update is not supported yet.
    -7060
    Reached Max Number of user data sources.
    -7094
    Failed to add the items child objects.
    -7093
    Failed to batch add the items
    -7092
    Failed to bind the item to the data source
    -7091
    Wrong Item Attribute
    -7090
    Unknown Field Type
    -7114
    Type of Column is Not Supported.
    -7113
    Failed to add the column child objects.
    -7112
    Failed to add the new columns.
    -7111
    Failed to bind the column to a data source
    -7110
    Invalid column attributes
    -7133
    The specified menu position is not valid
    -7132
    Invalid menu type
    -7131
    Failed to add the menu object
    -7130
    The specified menu already exists.
    -7030
    Invalid Row Number
    -7029
    Operation not supported on system form.
    -7028
    Out of boundary of DB data source offset.
    -7027
    The menu item is not a user defined menu item and cannot be manipulated in such manner.
    -7026
    Menu item was not found
    -7025
    Unknown Form State
    -7024
    Failed setting form bounds
    -7023
    Invalid Target
    -7022
    Could not commit action because the item is currently in focus.
    -7021
    Operation could not be set on extended edit text item.
    -7200
    Your connection string doesn't much UI development work mode.
    -7201
    The specified connection string is not valid.

  • Spatial vs. materialized views/query rewrite

    Dear all,
    we are trying to use Spatial (Locator) functionality together with performance optimization using materialized views and query rewrite, and it does not seem to work. Does anybody has experience with this?
    The problem in more detail:
    * There is a spatial attribut (vom Typ GEOMETRY) in our table;
    * we define a materialized view on that table;
    * we run a query that could be better answered using the materialized view with query rewrite;
    *the optimizer does not choose the plan using the materialized view, query rewrite does not take place;
    This happenes, even if neither the materialized view, nor the query contains the spatial attribut.
    The explanation given by the procedure DBMS_MVIEW.Explain_Rewrite is:
    "QSM-01064 query has a fixed table or view Cause: Query
    rewrite is not allowed if query references any fixed tables or views"
    We are using Oracle 9R2, Enterprise Edition, with locator. Nevertheless, it would also be interesting, if there is any improvement in 10g?
    A more complicated task, using materialized views to optimize spatial operations (e.g., sdo_relate) would also be very interesting, as spatial joins are very expensive operations.
    Thanks in advance for any comments, ideas!
    Cheers,
    Gergely Lukacs

    Hi Dan,
    thanks for your rapid response!
    A simple example is:
    alter session set query_rewrite_integrity=trusted;
    alter session set query_rewrite_enabled=true;
    set serveroutput on;
    /* Creating testtable */
    CREATE TABLE TESTTABLE (
    KEY1 NUMBER (4) NOT NULL,
    KEY2 NUMBER (8) NOT NULL,
    KEY3 NUMBER (14) NOT NULL,
    NAME VARCHAR2 (255),
    X NUMBER (9,2),
    Y NUMBER (9,2),
    ATTR1 VARCHAR2 (2),
    ATTR2 VARCHAR2 (30),
    ATTR3 VARCHAR2 (80),
    ATTR4 NUMBER (7),
    ATTR5 NUMBER (4),
    ATTR6 NUMBER (5),
    ATTR7 VARCHAR2 (40),
    ATTR8 VARCHAR2 (40),
    CONSTRAINT TESTTABLE_PK
    PRIMARY KEY ( KEY1, KEY2, KEY3 ));
    /* Creating materialized view */
    CREATE MATERIALIZED VIEW TESTTABLE_MV
    REFRESH COMPLETE
    ENABLE QUERY REWRITE
    AS SELECT DISTINCT ATTR7, ATTR8
    FROM TESTTABLE;
    /* Creating statistics, just to make sure */
    execute dbms_stats.gather_table_stats(ownname=> 'TESTSCHEMA', tabname=> 'TESTTABLE', cascade=>TRUE);
    execute dbms_stats.gather_table_stats(ownname=> 'TESTSCHEMA', tabname=> 'TESTTABLE_MV', cascade=>TRUE);
    /* Explain rewrite procedure */
    DECLARE
    Rewrite_Array SYS.RewriteArrayType := SYS.RewriteArrayType();
    querytxt VARCHAR2(1500) :=
    'SELECT COUNT(*) FROM (
    SELECT DISTINCT
    ATTR8 FROM
    TESTTABLE
    i NUMBER;
    BEGIN
    DBMS_MVIEW.Explain_Rewrite(querytxt, 'TESTTABLE_MV', Rewrite_Array);
    FOR i IN 1..Rewrite_Array.count
    LOOP
    DBMS_OUTPUT.PUT_LINE(Rewrite_Array(i).message);
    END LOOP;
    END;
    The message you get is:
    QSM-01009 materialized view, string, matched query text
    Cause: The query was rewritten using a materialized view, because query text matched the materialized view text.
    Action: No action required.
    i.e. query rewrite works!
    /* Adding geometry column to the testtable -- not to the materialized view, and not to the query! */
    ALTER TABLE TESTTABLE
    ADD GEOMETRYATTR mdsys.sdo_geometry;
    /* Explain rewrite procedure */
    DECLARE
    Rewrite_Array SYS.RewriteArrayType := SYS.RewriteArrayType();
    querytxt VARCHAR2(1500) :=
    'SELECT COUNT(*) FROM (
    SELECT DISTINCT
    ATTR8 FROM
    TESTTABLE
    i NUMBER;
    BEGIN
    DBMS_MVIEW.Explain_Rewrite(querytxt, 'TESTTABLE_MV', Rewrite_Array);
    FOR i IN 1..Rewrite_Array.count
    LOOP
    DBMS_OUTPUT.PUT_LINE(Rewrite_Array(i).message);
    END LOOP;
    END;
    The messages you get are:
    QSM-01064 query has a fixed table or view
    Cause: Query rewrite is not allowed if query references any fixed tables or views.
    Action: No action required.
    QSM-01019 no suitable materialized view found to rewrite this query
    Cause: There doesn't exist any materialized view that can be used to rewrite this query.
    Action: Consider creating a new materialized view.
    i.e. query rewrite does not work!
    If this works, the next issue is to use materialized views for optimizing spatial operations, e.g., a spatial join. I can supply you with an example, if necessary (only makes sense, I think, after the first problem is solved).
    Thanks in advance for any ideas, comments!
    Cheers,
    Gergely

  • How to parse select lines in an html string?

    I've been writing a program to deal with demographic data and the first server it calls returns an xml string. However, the backup server returns an html string instead of an xml string, so the formatting is a bit different. I was going to use a regex as I did with the xml server, but regex's don't work that well with html. i was wondering if you could offer some advice on how to effectively parse the html string? It is in this format <html>
    <head>
    <meta name="Description" content="ZIP Code Demographics"/>
    <meta name="Keywords" content="zip, zip code, zipcode, demographics, 2000, county, lookup, city, state"/>
    <title>ZIP Code Demographics Lookup</title>
    <link rel="stylesheet" type="text/css" href="http://www.MelissaData.com/style.css" />
    </head>
    <body topmargin="0" onload="document.getElementById('text1').focus()">
    <div align="center">
    <!--Start of top.asp 9/2/08 Ray-->
    <script type='text/javaScript' src='http://www.melissadata.com/cgi-bin/lib.js'></script>
        <table align="center" border="0" cellpadding="0" cellspacing="0" width="744" style="font-size:8pt; font-family:Arial; color: #666666">
            <tr valign='middle'  height='24'>
                 <td align="left" rowspan=2><a href="/index.htm">
                    <img border="0" src="http://www.melissadata.com/home/new1207/MelissaData-logo.gif" alt="Melissa Data Home Page" /></a><img border="0" src="http://www.melissadata.com/home/new1207/1-800-number.gif" width="112" height="22" alt="Call 1-800-MELISSA for Data Quality Solutions" /></td>
                <td colspan='2' align="right">
                    <font size="1" face="Verdana">
                <script type="text/javaScript">var r=uCookie("r"); var s=uCookie("s"); var n=uCookie("n");
                    //document.write (document.cookie);
                    if (r == "YES" && s == "IN" && n != "" ) document.write ("Hello <b>" + n.replace(/\+/g," ") + "<\/b>   [<font size=1><a href=/user/signout.aspx>Sign out<\/a>, <a href=/user/user_account.aspx>My Account<\/a></font>]");else document.write (" <a href=/user/signin.aspx>Sign In<\/a> ");
                </script></font></td></tr>
            <tr height='24'>
                <form method="get" action="http://w2.melissadata.com/cgi-bin/search.asp">          
                <td align="right" height=30>               
                    <a href="/netcart/order1.aspx"><img border="0" src="http://www.melissadata.com/home/new1207/Hompage-shoppincart.gif" alt="Shopping Cart" /></a>
                    <a style="color: #666666" href="/netcart/order1.aspx">Buy</a>
                    | <a style="color: #666666" href="/cgi-bin/newsletters.asp">Newsletters</a> | Search
                    <input name="indata" style="font-size:7pt; font-family:Arial" size="10" /><input type="image" src="http://www.melissadata.com/home/new1207/hompage-arrow.gif" style="vertical-align: middle"  value="Search" name="submit1" />
        </td></form></tr>
        </table>
        <style="font-size:10pt; font-family:Arial; color: #0066cc" type="text/css">
        <table align="center" border="0" cellpadding="4" cellspacing="0" width="744">
            <tr>
                <td align="center" width="106">
                    <b><a style="text-decoration: none" href="/products/index.htm">Products</a></b></td>
                <td align="center" width="106">
                    <b><a style="text-decoration: none" href="/solutions/index.htm">Solutions</a></b></td>
                <td align="center" width="106">
                    <b><a style="text-decoration: none" href="/download.htm">Downloads</a> </b></td>
                <td align="center" width="106">
                    <b><a style="text-decoration: none" href="/tech/tech.html">Support</a> </font></td>
                <td align="center" width="106">
                    <b><a style="text-decoration: none" href="/resources/index.htm">Resources</a></b></td>
                <td align="center" width="106">
                    <b><a style="text-decoration: none" href="/lookups/index.htm">Lookups</a></b></td>
                <td align="center" width="106">
                    <b><a style="text-decoration: none" href="/cgi-bin/contact.asp">Contact Us</a></b></td></tr>   
        </table></style>
    <!-- Start Image BanAd.asp-->
    <div align=center><a href='/cgi-bin/BanAd.asp?id=135'><img alt='Click here' src='/cgi-bin/BanImage.asp?id=135'></a></div><!-- End Image BanAd.asp-->
    <!--TitleBorder in Shared.asp -->
    <table width="744" cellspacing=0 border=1 bgcolor="#F7F7F7"><tr><td align=left><font color="#ce0000" size="5">ZIP Code Demographics Lookup</font></td><form><td width=120 align=center><input title='Help for ZIP Code Demographics Lookup' type=button onClick=openHelpWindow('/lookups/help/zipdemo2000.asp') value=Help>  <a title='Lookups home page' href=/lookups/index.htm>Index</a></td></form></tr></table>
    <!--TitleBorder End-->
    <form action="ZipDemo2000.asp" name="Demo2000">
    <table width="400" class="Disp">
    <tr><td align="center"><b>Enter a 5-Digit ZIP Code</b>
        <input class="Disp" title="Enter a ZIP Code" id="text1" size="5" name="ZipCode" maxlength="5"/> <input type="submit" value="Submit"/>
    </td></tr>
    </table>
    </form>
    <table cellspacing="0" cellpadding="1" width="750" border="2" bgcolor="#ffffcc">
    <tr bgcolor="lightblue"><td colspan="4" align="center">Year 2000 Demographics of <br><b>ZIP Code 90041</b><br><b>LOS ANGELES, California</b><br><a href=mapzipv.asp?zip=90041>Map of ZIP Code</a></td></tr>
    <tr bgcolor="#bbffff"><td>TOTAL POPULATION [1]</td><td >P001</td></tr>
    <tr bgcolor="#bbffff"><td>Universe: Total population</td><td >P001</td></tr>
    <tr><td>   Total</td><td align=right ><b> 27,864</b></td></tr>
    <tr bgcolor="#bbffff"><td>URBAN AND RURAL [6]</td><td >P002</td></tr>
    <tr bgcolor="#bbffff"><td>Universe: Total population</td><td >P002</td></tr>
    <tr><td>   Total:</td><td align=right ><b> 27,864</b></td></tr>
    <tr><td>         Urban:</td><td align=right ><b> 27,864</b></td></tr>
    <tr><td>           Inside urbanized areas</td><td align=right ><b> 27,864</b></td></tr>
    <tr><td>           Inside urban clusters</td><td align=right ><b> 0</b></td></tr>
    <tr><td>         Rural</td><td align=right ><b> 0</b></td></tr>
    <tr><td>         Not defined for this file</td><td align=right ><b> 0</b></td></tr>
    <tr bgcolor="#bbffff"><td>RACE [8]</td><td >P007</td></tr>
    <tr bgcolor="#bbffff"><td>Universe: Total population</td><td >P007</td></tr>
    <tr><td>   Total:</td><td align=right ><b> 27,864</b></td></tr>
    <tr><td>         White alone</td><td align=right ><b> 13,429</b></td></tr>
    <tr><td>         Black or African American alone</td><td align=right ><b> 630</b></td></tr>
    <tr><td>         American Indian and Alaska Native alone</td><td align=right ><b> 242</b></td></tr>
    <tr><td>         Asian alone</td><td align=right ><b> 7,123</b></td></tr>
    <tr><td>         Native Hawaiian and Other Pacific Islander alone</td><td align=right ><b> 42</b></td></tr>
    <tr><td>         Some other race alone</td><td align=right ><b> 4,738</b></td></tr>
    <tr><td>         Two or more races</td><td align=right ><b> 1,660</b></td></tr>
    <tr bgcolor="#bbffff"><td>HISPANIC OR LATINO BY RACE [17]</td><td >P008</td></tr>
    <tr bgcolor="#bbffff"><td>Universe: Total population</td><td >P008</td></tr>
    <tr><td>   Total:</td><td align=right ><b> 27,864</b></td></tr>
    <tr><td>         Not Hispanic or Latino:</td><td align=right ><b> 17,109</b></td></tr>
    <tr><td>           White alone</td><td align=right ><b> 8,468</b></td></tr>
    <tr><td>           Black or African American alone</td><td align=right ><b> 555</b></td></tr>
    <tr><td>           American Indian and Alaska Native alone</td><td align=right ><b> 105</b></td></tr>
    <tr><td>           Asian alone</td><td align=right ><b> 7,053</b></td></tr>
    <tr><td>           Native Hawaiian and Other Pacific Islander alone</td><td align=right ><b> 30</b></td></tr>
    <tr><td>           Some other race alone</td><td align=right ><b> 73</b></td></tr>
    <tr><td>           Two or more races</td><td align=right ><b> 825</b></td></tr>
    <tr><td>         Hispanic or Latino:</td><td align=right ><b> 10,755</b></td></tr>
    <tr><td>           White alone</td><td align=right ><b> 4,961</b></td></tr>
    <tr><td>           Black or African American alone</td><td align=right ><b> 75</b></td></tr>
    <tr><td>           American Indian and Alaska Native alone</td><td align=right ><b> 137</b></td></tr>
    <tr><td>           Asian alone</td><td align=right ><b> 70</b></td></tr>
    <tr><td>           Native Hawaiian and Other Pacific Islander alone</td><td align=right ><b> 12</b></td></tr>
    <tr><td>           Some other race alone</td><td align=right ><b> 4,665</b></td></tr>
    <tr><td>           Two or more races</td><td align=right ><b> 835</b></td></tr>
    <tr bgcolor="#bbffff"><td>SEX BY AGE [49]</td><td >P012</td></tr>
    <tr bgcolor="#bbffff"><td>Universe: Total population</td><td >P012</td></tr>
    <tr><td>   Total:</td><td align=right ><b> 27,864</b></td></tr>
    <tr><td>         Male:</td><td align=right ><b> 13,324</b></td></tr>
    <tr><td>           Under 5 years</td><td align=right ><b> 862</b></td></tr>
    <tr><td>           5 to 9 years</td><td align=right ><b> 974</b></td></tr>
    <tr><td>           10 to 14 years</td><td align=right ><b> 872</b></td></tr>
    <tr><td>           15 to 17 years</td><td align=right ><b> 525</b></td></tr>
    <tr><td>           18 and 19 years</td><td align=right ><b> 511</b></td></tr>
    <tr><td>           20 years</td><td align=right ><b> 257</b></td></tr>
    <tr><td>           21 years</td><td align=right ><b> 287</b></td></tr>
    <tr><td>           22 to 24 years</td><td align=right ><b> 569</b></td></tr>
    <tr><td>           25 to 29 years</td><td align=right ><b> 969</b></td></tr>
    <tr><td>           30 to 34 years</td><td align=right ><b> 1,024</b></td></tr>
    <tr><td>           35 to 39 years</td><td align=right ><b> 1,140</b></td></tr>
    <tr><td>           40 to 44 years</td><td align=right ><b> 1,077</b></td></tr>
    <tr><td>           45 to 49 years</td><td align=right ><b> 987</b></td></tr>
    <tr><td>           50 to 54 years</td><td align=right ><b> 822</b></td></tr>
    <tr><td>           55 to 59 years</td><td align=right ><b> 647</b></td></tr>
    <tr><td>           60 and 61 years</td><td align=right ><b> 215</b></td></tr>
    <tr><td>           62 to 64 years</td><td align=right ><b> 270</b></td></tr>
    <tr><td>           65 and 66 years</td><td align=right ><b> 155</b></td></tr>
    <tr><td>           67 to 69 years</td><td align=right ><b> 258</b></td></tr>
    <tr><td>           70 to 74 years</td><td align=right ><b> 320</b></td></tr>
    <tr><td>           75 to 79 years</td><td align=right ><b> 252</b></td></tr>
    <tr><td>           80 to 84 years</td><td align=right ><b> 183</b></td></tr>
    <tr><td>           85 years and over</td><td align=right ><b> 148</b></td></tr>
    <tr><td>         Female:</td><td align=right ><b> 14,540</b></td></tr>
    <tr><td>           Under 5 years</td><td align=right ><b> 864</b></td></tr>
    <tr><td>           5 to 9 years</td><td align=right ><b> 949</b></td></tr>
    <tr><td>           10 to 14 years</td><td align=right ><b> 875</b></td></tr>
    <tr><td>           15 to 17 years</td><td align=right ><b> 534</b></td></tr>
    <tr><td>           18 and 19 years</td><td align=right ><b> 592</b></td></tr>
    <tr><td>           20 years</td><td align=right ><b> 285</b></td></tr>
    <tr><td>           21 years</td><td align=right ><b> 264</b></td></tr>
    <tr><td>           22 to 24 years</td><td align=right ><b> 600</b></td></tr>
    <tr><td>           25 to 29 years</td><td align=right ><b> 932</b></td></tr>
    <tr><td>           30 to 34 years</td><td align=right ><b> 1,035</b></td></tr>
    <tr><td>           35 to 39 years</td><td align=right ><b> 1,026</b></td></tr>
    <tr><td>           40 to 44 years</td><td align=right ><b> 1,131</b></td></tr>
    <tr><td>           45 to 49 years</td><td align=right ><b> 1,038</b></td></tr>
    <tr><td>           50 to 54 years</td><td align=right ><b> 970</b></td></tr>
    <tr><td>           55 to 59 years</td><td align=right ><b> 689</b></td></tr>
    <tr><td>           60 and 61 years</td><td align=right ><b> 261</b></td></tr>
    <tr><td>           62 to 64 years</td><td align=right ><b> 327</b></td></tr>
    <tr><td>           65 and 66 years</td><td align=right ><b> 208</b></td></tr>
    <tr><td>           67 to 69 years</td><td align=right ><b> 307</b></td></tr>
    <tr><td>           70 to 74 years</td><td align=right ><b> 482</b></td></tr>
    <tr><td>           75 to 79 years</td><td align=right ><b> 450</b></td></tr>
    <tr><td>           80 to 84 years</td><td align=right ><b> 331</b></td></tr>
    <tr><td>           85 years and over</td><td align=right ><b> 390</b></td></tr>
    <tr bgcolor="#bbffff"><td>MEDIAN AGE BY SEX [3]</td><td >P013</td></tr>
    <tr bgcolor="#bbffff"><td>Universe: Total population</td><td >P013</td></tr>
    <tr bgcolor="#bbffff"><td>Median age--</td><td >P013</td></tr>
    <tr><td>         Both sexes</td><td align=right ><b> 35.3</b></td></tr>
    <tr><td>         Male</td><td align=right ><b> 34.0</b></td></tr>
    <tr><td>         Female</td><td align=right ><b> 36.6</b></td></tr>
    <tr bgcolor="#bbffff"><td>HOUSEHOLDS [1]</td><td >P015</td></tr>
    <tr bgcolor="#bbffff"><td>Universe: Households</td><td >P015</td></tr>
    <tr><td>   Total</td><td align=right ><b> 9,375</b></td></tr>
    <tr bgcolor="#bbffff"><td>POPULATION IN HOUSEHOLDS [1]</td><td >P016</td></tr>
    <tr bgcolor="#bbffff"><td>Universe: Population in households</td><td >P016</td></tr>
    <tr><td>   Total</td><td align=right ><b> 26,409</b></td></tr>
    <tr bgcolor="#bbffff"><td>AVERAGE HOUSEHOLD SIZE [1]</td><td >P017</td></tr>
    <tr bgcolor="#bbffff"><td>Universe: Households</td><td >P017</td></tr>
    <tr><td>   Average household size</td><td align=right ><b> 2.82</b></td></tr>
    <tr bgcolor="#bbffff"><td>FAMILIES [1]</td><td >P031</td></tr>
    <tr bgcolor="#bbffff"><td>Universe: Families</td><td >P031</td></tr>
    <tr><td>   Total</td><td align=right ><b> 6,326</b></td></tr>
    <tr bgcolor="#bbffff"><td>POPULATION IN FAMILIES [1]</td><td >P032</td></tr>
    <tr bgcolor="#bbffff"><td>Universe: Population in families</td><td >P032</td></tr>
    <tr><td>   Total</td><td align=right ><b> 21,653</b></td></tr>
    <tr bgcolor="#bbffff"><td>AVERAGE FAMILY SIZE [1]</td><td >P033</td></tr>
    <tr bgcolor="#bbffff"><td>Universe: Families</td><td >P033</td></tr>
    <tr><td>   Average family size</td><td align=right ><b> 3.42</b></td></tr>
    </table>
    <!-- Start of bottom.asp-->
        <hr width="730" />
        <span style='font-size:8pt'>
        <a href="http://www.melissadata.com/enews/advisorarticles/index.htm">Articles</a> | 
        <a href="javascript:window.external.AddFavorite('http://www.melissadata.com/lookups/zipdemo2000.asp', 'ZIP Code Demographics Lookup')" target="_self">Bookmark</a> | 
        <a href="http://www.melissadata.com/cgi-bin/improve.asp?web">How Can We Improve?</a> | 
        <a href="http://www.melissadata.com/cgi-bin/batchprocessing.asp">Batch Processing</a> | 
        <a href="http://www.melissadata.com/cgi-bin/send.asp?Send2Friend">Email to Friend</a> | 
        <a href="http://www.melissadata.com/cgi-bin/catalogres.asp">Free Catalog</a> | 
        <a href="http://forum.melissadata.com/default.aspx">Forums</a> | 
        <a href="http://www.melissadata.com/terms-of-use.htm">Terms of Use</a>
        <font color="#ddddff"><br />  
        <script type="text/javascript"> var r=uCookie("r"); var f=uCookie("f"); var c=uCookie("c"); var l=uCookie("l");
            //document.write (r + ":" + f + ":" + c + ":" + l);</script></font></span>
    <!-- End of bottom.asp-->
    </div>
    </body>
    </html>.
    The numbers I wanted to extract are the age groups of "Under 5 years," "5 to 9 years," "10 to 14 years," and "15 to 17 years," from both male and female groups, which should add up to 8 numbers total. Here is the backup server portion of my program as well, so you can see what i'm doing.
    import java.net.*;
    import java.net.URL;
    import java.net.URLConnection;
    import java.net.HttpURLConnection;
    import java.io.*;
    import java.io.DataOutputStream;
    import java.io.BufferedReader;
    import java.io.StringReader;
    import java.io.InputStreamReader;
    import java.io.PrintStream;
    import java.util.Scanner;
    import java.util.regex.Matcher;
    import java.util.regex.Pattern;
    import java.util.Arrays;
    public class TriParser
         static Scanner sc = new Scanner(System.in);
         public static int[] findValues(String text, String gender, String[] labels)
                Matcher m = Pattern.compile("<td>(.*?)</td>",
               Pattern.MULTILINE | Pattern.DOTALL).matcher(text);
                String allValues = m.find() ? m.group(1) : null; // TODO: handle if 'null' is returned!
                int[] values = new int[labels.length];
                for(int i = 0; i < labels.length; i++)
                  m = Pattern.compile(labels[i]+"[^>]+>(\\d+)").matcher(allValues);
                  if(m.find()) values[i] = Integer.parseInt(m.group(1));
                return values;
         public static void main(String[] args) throws Exception
            int zip;
            boolean validInteger;//indicates if zipcode is valid (has to be 5 digits)
            do
                    System.out.print("Enter a five-digit zipcode: ");
                    zip = sc.nextInt();
                    validInteger = true;
                    if((zip < 10000) || (zip > 99999))
                            validInteger = false;
                            System.out.println("Invalid Entry.  Please re-enter zipcode.");
            while(!validInteger);
            System.out.println(zip);     
            //String requestPart1 ="query=PREFIX+dc%3A++%3Chttp%3A%2F%2Fpurl.org%2Fdc%2Felements%2F1.1%2F%3E+%0D%0APREFIX+census%3A+%3Chttp%3A%2F%2Fwww.rdfabout.com%2Frdf%2Fschema%2Fcensus%2F%3E+%0D%0APREFIX+census1%3A+%3Ctag%3Agovshare.info%2C2005%3Ardf%2Fcensus%2Fdetails%2F100pct%2F%3E+%0D%0A%0D%0ADESCRIBE+%3Ftable+WHERE+%7B+%0D%0A+%3Chttp%3A%2F%2Fwww.rdfabout.com%2Frdf%2Fusgov%2Fgeo%2Fcensus%2Fzcta%2F";
            //String requestPart2 = "" + zip; // zipcode goes here
            //String requestPart3 ="%3E+census%3Adetails+%3Fdetails+.+%0D%0A+%3Fdetails+census1%3AtotalPopulation+%3Ftable+.+%0D%0A+%3Ftable+dc%3Atitle+%22SEX+BY+AGE+%28P012001%29%22+.+%0D%0A%7D%0D%0A&outputMimeType=text%2Fxml";
              String requestPart1 = "" + zip;
            String response = "";
            URL url = new URL("http://www.melissadata.com/lookups/zipdemo2000.asp?ZipCode="+requestPart1);
            URLConnection conn = url.openConnection();
            // Set connection parameters.
            conn.setDoInput (true);
            conn.setDoOutput (true);
            conn.setUseCaches (false);
            // Make server believe we are form data…
            conn.setRequestProperty("Content-Type","application/x-www-form-urlencoded");
            DataOutputStream out = new DataOutputStream (conn.getOutputStream ());
            // Write out the bytes of the content string to the stream.
            out.writeBytes(requestPart1);
            out.flush ();
            out.close ();
            // Read response from the input stream.
            BufferedReader in = new BufferedReader (new
            InputStreamReader(conn.getInputStream ()));
            String temp;
            while ((temp = in.readLine()) != null)
                 response += temp + "\n"; // needs to be parsed to calculate the 4 numbers
            temp = null;
            in.close ();
              //System.out.println("Server response:\n" + response);
              // how to call the method:
              String[] ages = {"Under 5 years", "5 to 9 years", "10 to 14 years", "15 to 17 years"};
              String[] ages1 = {"Under 5 years"};
              String[] ages2 = {"5 to 9 years"};
              String[] ages3 = {"10 to 14 years"};
              String[] ages4 = {"15 to 17 years"};
              String female1 = Arrays.toString(findValues(response, "female", ages1));
              String female2 = Arrays.toString(findValues(response, "female", ages2));
              String female3 = Arrays.toString(findValues(response, "female", ages3));
              String female4 = Arrays.toString(findValues(response, "female", ages4));
              String female = female1 + "+" + female2 + "<" + female3 + ">" + female4 + "&";
              String male1 = Arrays.toString(findValues(response, "male", ages1));
              String male2 = Arrays.toString(findValues(response, "male", ages2));
              String male3 = Arrays.toString(findValues(response, "male", ages3));
              String male4 = Arrays.toString(findValues(response, "male", ages4));
              String male = male1 + "+" + male2 + "<" + male3 + ">" + male4 + "&";
              System.out.println(female);
              System.out.println(male);
            //Simplified string response, makes use of regular expressions
            //Start manipulation of numbers inside string
            int left = female.indexOf("[");
              int right = female.indexOf("]");
              // pull out the text inside the parens
              String parsed = female.substring(left+1, right);
              double parseddub = Double.parseDouble(parsed);
              //divide the group Under5Years into Under12Mo and 1to4Yr
              double Group1Adub = parseddub*.25;//25% for Under12Mo
              Group1Adub = Math.ceil(Group1Adub);
              int Group1A =(int)Group1Adub;
              double Group1Bdub = parseddub*.75;//75% for 1to4Yr
              Group1Bdub = Math.ceil(Group1Bdub);
              int Group1B =(int)Group1Bdub;
              int left2 = female.indexOf("+");
              int right2 = female.indexOf("<");
              // pull out the text inside the parens
              String parsed2 = female.substring(left2+2, right2-1);
              double parsed2dub = Double.parseDouble(parsed2);
              //divide the group 5to9Yr into 5Yr, 6to7Yr, and 8to9Yr
              double Group2Adub = parsed2dub*.2;//20% for 5Yr
              Group2Adub = Math.ceil(Group2Adub);
              int Group2A =(int)Group2Adub;
              double Group2Bdub = parsed2dub*.4;//40% for 6to7Yr
              Group2Bdub = Math.ceil(Group2Bdub);
              int Group2B =(int)Group2Bdub;
              double Group2Cdub = parsed2dub*.2;//20% for 8Yr
              Group2Cdub = Math.ceil(Group2Cdub);
              int Group2C =(int)Group2Cdub;
              double Group2Ddub = parsed2dub*.2;//20% for 9Yr
              Group2Ddub = Math.ceil(Group2Ddub);
              int Group2D =(int)Group2Ddub;
              int left3 = female.indexOf("<");
              int right3 = female.indexOf(">");
              // pull out the text inside the brackets
              String parsed3 = female.substring(left3+2, right3-1);
              int Group3A = Integer.valueOf(parsed3).intValue();
              int left4 = female.indexOf(">");
              int right4 = female.indexOf("&");
              // pull out the text inside the brackets
              String parsed4 = female.substring(left4+2, right4-1);
              int Group4A = Integer.valueOf(parsed4).intValue();
              int left5 = male.indexOf("[");
              int right5 = male.indexOf("]");
              String parsed5 = male.substring(left5+1, right5);
              double parsed5dub = Double.parseDouble(parsed5);
              //divide the group Under5Years into Under12Mo and 1to4Yr
              double Group5Adub = parsed5dub*.25;//25% for Under12Mo
              Group5Adub = Math.ceil(Group5Adub);
              int Group5A =(int)Group5Adub;
              double Group5Bdub = parsed5dub*.75;//75% for 1to4Yr
              Group5Bdub = Math.ceil(Group5Bdub);
              int Group5B =(int)Group5Bdub;     
              int left6 = male.indexOf("+");
              int right6 = male.indexOf("<");
              // pull out the text inside the parens
              String parsed6 = male.substring(left6+2, right6-1);
              double parsed6dub = Double.parseDouble(parsed6);
              //divide the group 5to9Yr into 5Yr, 6to7Yr, and 8to9Yr
              double Group6Adub = parsed6dub*.2;//20% for 5Yr
              Group6Adub = Math.ceil(Group6Adub);
              int Group6A =(int)Group6Adub;
              double Group6Bdub = parsed6dub*.4;//40% for 6to7Yr
              Group6Bdub = Math.ceil(Group6Bdub);
              int Group6B =(int)Group6Bdub;
              double Group6Cdub = parsed6dub*.2;//20% for 8Yr
              Group6Cdub = Math.ceil(Group6Cdub);
              int Group6C =(int)Group6Cdub;
              double Group6Ddub = parsed6dub*.2;//20% for 9Yr
              Group6Ddub = Math.ceil(Group6Ddub);
              int Group6D =(int)Group6Ddub;
              int left7 = male.indexOf("<");
              int right7 = male.indexOf(">");
              // pull out the text inside the brackets
              String parsed7 = male.substring(left7+2, right7-1);
              int Group7A = Integer.valueOf(parsed7).intValue();
              int left8 = male.indexOf(">");
              int right8 = male.indexOf("&");
              // pull out the text inside the brackets
              String parsed8 = male.substring(left8+2, right8-1);
              int Group8A = Integer.valueOf(parsed8).intValue();
              //female
              int Group1 = Group1A;
              int Group2 = Group1B + Group2A;
              int Group3 = Group2A + Group2B + Group2C;
              int Group4 = Group2C + Group2D + Group3A + Group4A;     
              //male
              int Group5 = Group5A;
              int Group6 = Group5B + Group6A;
              int Group7 = Group6A + Group6B + Group6C;
              int Group8 = Group6C + Group6D + Group7A + Group8A;
              System.out.println("Server response:\n" + "\n" + "Female");
              System.out.println("Under 12 Months:    " + Group1);
              System.out.println("1 to 4 Years Old:   " + Group2);
              System.out.println("5 to 8 Years Old:   " + Group3);
              System.out.println("8 to 17 Years Old:  " + Group4);
              System.out.println("\n" + "Male");
              System.out.println("Under 12 Months:    " + Group5);
              System.out.println("1 to 4 Years Old:   " + Group6);
              System.out.println("5 to 8 Years Old:   " + Group7);
              System.out.println("8 to 17 Years Old:  " + Group8);
    }Currently it functions using a regex, and executes, but doesn't return any numbers, only returns zeros...If you could help me out with this, that would be amazing! Thanks so much.

    hmm, is there a way to do it without an external API? Of course there is.
    looks like i have to download the API and the idea behind the program is to make it so multiple people running only java can run the program, without having to download APIs, ect, to make it run. Not sure if that is what JTidy entails, but is that what you were suggesting?Personally, I don't understand the resistance to using well-tested tools already in existence as opposed to trying to rewrite a shallow facsimile of said tools. You can distribute the JTidy library along with your application and save yourself a great deal of development and debugging effort.
    ~

Maybe you are looking for