Source code of Windows XP (NT5)
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
//Query.java
//+-------------------------------------------------------------------------
//
// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
// PARTICULAR PURPOSE.
//
// Copyright 1998-1999, Microsoft Corporation. All Rights Reserved.
//
// PROGRAM: VJQuery
//
// PURPOSE: Illustrates using Visual J++ and ADO to execute
// SQL queries with Indexing Service.
//
// PLATFORM: Windows 2000
//
//--------------------------------------------------------------------------
import java.io.*;
// NOTE: The com.ms.wfc imports will become just wfc imports for distribution.
import com.ms.wfc.*; import com.ms.wfc.core.*; import com.ms.wfc.data.*; import com.ms.com.*;
//+-------------------------------------------------------------------------
//
// Class: Query
//
// Synopsis: Encapsulates setting/executing/displaying a query.
//
//--------------------------------------------------------------------------
public class Query { Query() { this.m_SqlText = ""; }
//+-------------------------------------------------------------------------
//
// Method: Query::SetRawSql
//
// Synopsis: Stores a complete SQL query statement (SELECT, FROM, WHERE).
//
// Arguments: [RawSql] -- SQL Query.
//
//--------------------------------------------------------------------------
void SetRawSql( String RawSql ) { this.m_SqlText = RawSql; }
//+-------------------------------------------------------------------------
//
// Method: Query::SetSqlWhere
//
// Synopsis: Stores an SQL WHERE clause. Remainder of query is fixed.
//
// Arguments: [Where] -- SQL WHERE clause, sans WHERE keyword.
//
//--------------------------------------------------------------------------
void SetSqlWhere( String Where ) { m_SqlText = "SELECT Filename, Size, Write, Path FROM SCOPE('DEEP TRAVERSAL OF \"\\\"') WHERE "; m_SqlText = m_SqlText + Where; }
//+-------------------------------------------------------------------------
//
// Method: Query::Execute
//
// Synopsis: Execute query.
//
// Notes: May throw ADO exceptions.
//
//--------------------------------------------------------------------------
void Execute() { m_RS = new Recordset(); m_RS.open( m_SqlText, "provider=MSIDXS", AdoEnums.CursorType.STATIC, AdoEnums.LockType.BATCHOPTIMISTIC, AdoEnums.CommandType.TEXT ); }
//+-------------------------------------------------------------------------
//
// Method: Query::Display
//
// Synopsis: Display query results
//
// Arguments: [PS] -- Results are written to here.
//
// Notes: May throw ADO exceptions.
//
//--------------------------------------------------------------------------
void Display( PrintStream PS ) { try { int cFields = m_RS.getFields().getCount();
while ( !m_RS.getEOF() ) { for ( int j = 0; j < cFields; j++ ) PS.print( m_RS.getFields().getItem(j).getValue() + "\t" );
PS.print( "\n" );
m_RS.moveNext(); } } catch( com.ms.wfc.data.AdoException e ) { System.out.println( "Caught " + e.getErrorNumber() );
try { int i = System.in.read(); } catch( java.lang.Exception e2 ) { } } }
// Members
private String m_SqlText; private Recordset m_RS; }
|