/*
* This file is part of the LibreOffice project .
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License , v . 2 . 0 . If a copy of the MPL was not distributed with this
* file , You can obtain one at http : //mozilla.org/MPL/2.0/.
*
* This file incorporates work covered by the following license notice :
*
* Licensed to the Apache Software Foundation ( ASF ) under one or more
* contributor license agreements . See the NOTICE file distributed
* with this work for additional information regarding copyright
* ownership . The ASF licenses this file to you under the Apache
* License , Version 2 . 0 ( the " License " ) ; you may not use this file
* except in compliance with the License . You may obtain a copy of
* the License at http : //www.apache.org/licenses/LICENSE-2.0 .
*/
package convwatch;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
import java.sql.SQLException;
import java.util.StringTokenizer;
class ShareConnection
{
private Connection m_aConnection = null ;
public Connection getConnection()
{
if (m_aConnection == null )
{
try
{
m_aConnection = DBHelper.getMySQLConnection();
}
catch (java.sql.SQLException e)
{
GlobalLogWriter.get().println("DB: ERROR: can't connect to DB." );
m_aConnection = null ;
}
}
return m_aConnection;
}
}
class MySQLThread extends Thread
{
private final Connection m_aCon;
private final String m_sSQL;
public MySQLThread(Connection _aCon, String _sSQL)
{
m_aCon = _aCon;
m_sSQL = _sSQL;
}
@Override
public void run()
{
Statement oStmt = null ;
if (m_aCon == null )
{
GlobalLogWriter.get().println("DB: ERROR: in ExecSQL, connection not established." );
return ;
}
try
{
try
{
oStmt = m_aCon.createStatement();
GlobalLogWriter.get().println("DB: " + m_sSQL);
/* ResultSet oResult = */
oStmt.executeUpdate(m_sSQL);
}
finally
{
if (oStmt != null )
oStmt.close();
}
}
catch (Exception e)
{
GlobalLogWriter.get().println("DB: Couldn't execute sql string '" + m_sSQL + "'" );
GlobalLogWriter.get().println("DB: Reason: " + e.getMessage());
}
}
}
public class DBHelper
{
public void SQLupdateValue(Connection _aCon, String _sTableName, String _sSet, String _sWhere)
{
if (_aCon == null )
{
GlobalLogWriter.get().println("DB: ERROR: in SQLinsertValues, connection not established." );
return ;
}
StringBuffer aUpdateStr = new StringBuffer();
aUpdateStr.append( "UPDATE " ).append( _sTableName )
.append( " SET " ).append( _sSet )
.append( " WHERE " ).append( _sWhere );
ExecSQL( _aCon, aUpdateStr.toString() );
}
private static final Object settingsLock = new Object();
private static String m_sDBServerName;
private static String m_sDBName;
private static String m_sDBUser;
private static String m_sDBPasswd;
protected void fillDBConnection(String _sInfo)
{
synchronized (settingsLock)
{
StringTokenizer aTokenizer = new StringTokenizer(_sInfo,"," ,false );
while (aTokenizer.hasMoreTokens())
{
String sPart = aTokenizer.nextToken();
if (sPart.startsWith("db:" ))
{
m_sDBName = sPart.substring(3 );
}
else if (sPart.startsWith("user:" ))
{
m_sDBUser = sPart.substring(5 );
}
else if (sPart.startsWith("passwd:" ))
{
m_sDBPasswd = sPart.substring(7 );
}
else if (sPart.startsWith("server:" ))
{
m_sDBServerName = sPart.substring(7 );
}
}
}
}
/**
* This method establishes a Connection < br >
* with the database ' module_unit ' on jakobus
*/
public static Connection getMySQLConnection() throws SQLException
{
synchronized (settingsLock)
{
try
{
Class .forName("org.gjt.mm.mysql.Driver" );
String sConnection = "jdbc:mysql://" + m_sDBServerName + ":3306/" + m_sDBName;
// Connection mysql = DriverManager.getConnection(
// "jdbc:mysql://jakobus:3306/jobs_convwatch","admin","admin");
Connection mysql = DriverManager.getConnection(sConnection, m_sDBUser, m_sDBPasswd);
return mysql;
}
catch (ClassNotFoundException e)
{
GlobalLogWriter.get().println("DB: Class not found exception caught: " + e.getMessage());
GlobalLogWriter.get().println("DB: Maybe mysql.jar is not added to the classpath." );
}
return null ;
}
}
private synchronized void ExecSQL(Connection _aCon, String _sSQL)
{
MySQLThread aSQLThread = new MySQLThread(_aCon, _sSQL);
aSQLThread.start();
}
public String Quote(String _sToQuote)
{
char ts = '\' ';
char ds = '"' ;
int nQuote = _sToQuote.indexOf(ts);
if (nQuote >= 0 )
{
return ds + _sToQuote + ds;
}
return ts + _sToQuote + ts;
}
public static final String sEqual = "=" ;
public static final String sAND = " AND " ;
}
Messung V0.5 in Prozent C=93 H=94 G=93
¤ Dauer der Verarbeitung: 0.1 Sekunden
(vorverarbeitet am 2026-09-11)
¤
*© Formatika GbR, Deutschland