Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für: Access 2013, Office 2013
In diesem Beispiel wird die State-Eigenschaft verwendet, um eine Meldung anzuzeigen, während die asynchronen Verbindungen geöffnet und asynchrone Befehle ausgeführt werden.
// BeginStateJ
import com.ms.wfc.data.*;
import java.io.*;
public class StateX
{
// The main entry point of the application.
public static void main (String[] args)
{
StateX();
System.exit(0);
}
// StateX Function
static void StateX()
{
// Define ADO Objects.
Connection cnn1 = null;
Connection cnn2 = null;
Command cmdChange = null;
Command cmdRestore = null;
// Declarations.
String strCnn = "Provider='sqloledb';Data Source='MySqlServer';"+
"Initial Catalog='Pubs';Integrated Security='SSPI';";
BufferedReader in =
new BufferedReader(new InputStreamReader(System.in));
try
{
// Open two Asynchronous connections, displaying
// a message while connecting.
cnn1 = new Connection();
cnn2 = new Connection();
cnn1.open(strCnn,"","",AdoEnums.ConnectOption.ASYNCCONNECT);
while(cnn1.getState()==AdoEnums.ObjectState.CONNECTING)
System.out.println("Opening the first connection....");
cnn2.open(strCnn,"","",AdoEnums.ConnectOption.ASYNCCONNECT);
while(cnn2.getState()==AdoEnums.ObjectState.CONNECTING)
System.out.println("Opening the second connection....");
// Create two command Objects.
cmdChange = new Command();
cmdChange.setActiveConnection(cnn1);
cmdChange.setCommandText("UPDATE Titles SET type = 'self_help'"+
"WHERE type = 'psychology'");
cmdRestore = new Command();
cmdRestore.setActiveConnection(cnn2);
cmdRestore.setCommandText(
"UPDATE Titles SET type = 'psychology'"+
"WHERE type = 'self_help'");
// Executing the commands, displaying a message
// while they are executing.
cmdChange.execute(null,AdoEnums.ExecuteOption.ASYNCEXECUTE);
while(cmdChange.getState() == AdoEnums.ObjectState.EXECUTING)
System.out.println("Change command executing....");
cmdRestore.execute(null,AdoEnums.ExecuteOption.ASYNCEXECUTE);
while(cmdRestore.getState() == AdoEnums.ObjectState.EXECUTING)
System.out.println("Restore command executing....");
System.out.println("Press <Enter> to continue..");
in.readLine();
}
// System read requires this catch.
catch(java.io.IOException je)
{
PrintIOError(je);
}
catch(AdoException ae)
{
// Notify user of any errors resulting from ADO.
// As passing a connection, check for null pointer first.
if(cnn1 != null)
{
System.out.println("The error has occured in cnn1:");
PrintProviderError(cnn1);
}
else if(cnn2 != null)
{
System.out.println("The error has occured in cnn2:");
PrintProviderError(cnn2);
}
else
{
System.out.println("Exception: "+ ae.getMessage());
}
}
finally
{
// Cleanup objects before exit.
if (cnn1 != null)
if (cnn1.getState() == 1)
cnn1.close();
if (cnn2 != null)
if (cnn2.getState() == 1)
cnn2.close();
}
}
// PrintProviderError Function
static void PrintProviderError(Connection cnn1)
{
// Print Provider Errors from Connection Object.
// ErrItem is an item object in the Connections Errors Collection.
com.ms.wfc.data.Error ErrItem = null;
long nCount = 0;
int i = 0;
nCount = cnn1.getErrors().getCount();
// If there are any errors in the collection, print them.
if ( nCount > 0)
{
// Collection ranges from 0 to nCount-1.
for ( i=0;i<nCount; i++)
{
ErrItem = cnn1.getErrors().getItem(i);
System.out.println("\t Error Number: " + ErrItem.getNumber()
+ "\t" + ErrItem.getDescription());
}
}
}
// PrintIOError Function
static void PrintIOError(java.io.IOException je)
{
System.out.println("Error: \n");
System.out.println("\t Source: " + je.getClass() + "\n");
System.out.println("\t Description: "+ je.getMessage() + "\n");
}
}
// EndStateJ