* changed signature (it's more important to provide a database name than user and password)
* added var keyword before constants * check user and password individually * added execute() method
This commit is contained in:
parent
f2cc5103b4
commit
971a740a0a
1 changed files with 21 additions and 16 deletions
|
@ -8,10 +8,10 @@
|
||||||
*
|
*
|
||||||
* Copyright 1998-2006 Helma Software. All Rights Reserved.
|
* Copyright 1998-2006 Helma Software. All Rights Reserved.
|
||||||
*
|
*
|
||||||
* $RCSfile: helma.Database.js,v $
|
* $RCSfile: Database.js,v $
|
||||||
* $Author: czv $
|
* $Author: czv $
|
||||||
* $Revision: 1.5 $
|
* $Revision: 1.2 $
|
||||||
* $Date: 2006/04/18 13:06:58 $
|
* $Date: 2006/04/24 07:02:17 $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
@ -19,19 +19,17 @@ if (!global.helma) {
|
||||||
global.helma = {};
|
global.helma = {};
|
||||||
}
|
}
|
||||||
|
|
||||||
helma.Database = function(driver, url, user, password, name) {
|
helma.Database = function(driver, url, name, user, password) {
|
||||||
if (!driver || !url || !user)
|
if (!driver || !url || !name)
|
||||||
throw("Insufficient arguments to create helma.db.Connection");
|
throw("Insufficient arguments to create helma.db.Connection");
|
||||||
if (!name)
|
|
||||||
name = "db" + new Date().getTime();
|
|
||||||
if (typeof password != "string")
|
if (typeof password != "string")
|
||||||
password = "";
|
password = "";
|
||||||
|
|
||||||
MYSQL = "mysql";
|
var MYSQL = "mysql";
|
||||||
ORACLE = "oracle";
|
var ORACLE = "oracle";
|
||||||
JDBC = "jdbc:";
|
var JDBC = "jdbc:";
|
||||||
DRIVER_MYSQL = "org.gjt.mm.mysql.Driver";
|
var DRIVER_MYSQL = "org.gjt.mm.mysql.Driver";
|
||||||
DRIVER_ORACLE = "oracle.jdbc.driver.OracleDriver";
|
var DRIVER_ORACLE = "oracle.jdbc.driver.OracleDriver";
|
||||||
|
|
||||||
if (driver == MYSQL) {
|
if (driver == MYSQL) {
|
||||||
driver = DRIVER_MYSQL;
|
driver = DRIVER_MYSQL;
|
||||||
|
@ -45,13 +43,15 @@ helma.Database = function(driver, url, user, password, name) {
|
||||||
|
|
||||||
var DbSource = Packages.helma.objectmodel.db.DbSource;
|
var DbSource = Packages.helma.objectmodel.db.DbSource;
|
||||||
var DatabaseObject = Packages.helma.scripting.rhino.extensions.DatabaseObject;
|
var DatabaseObject = Packages.helma.scripting.rhino.extensions.DatabaseObject;
|
||||||
|
|
||||||
var DbSource = Packages.helma.objectmodel.db.DbSource;
|
var DbSource = Packages.helma.objectmodel.db.DbSource;
|
||||||
|
|
||||||
var props = new Packages.helma.util.ResourceProperties();
|
var props = new Packages.helma.util.ResourceProperties();
|
||||||
props.put(name + ".url", url);
|
props.put(name + ".url", url);
|
||||||
props.put(name + ".driver", driver);
|
props.put(name + ".driver", driver);
|
||||||
if (user) {
|
if (user) {
|
||||||
props.put(name + ".user", user);
|
props.put(name + ".user", user)
|
||||||
|
}
|
||||||
|
if (password) {
|
||||||
props.put(name + ".password", password);
|
props.put(name + ".password", password);
|
||||||
}
|
}
|
||||||
var source = new DbSource(name, props);
|
var source = new DbSource(name, props);
|
||||||
|
@ -77,9 +77,9 @@ helma.Database = function(driver, url, user, password, name) {
|
||||||
return this.getProductName() == MYSQL;
|
return this.getProductName() == MYSQL;
|
||||||
};
|
};
|
||||||
|
|
||||||
this.query = function(query) {
|
this.query = function(sql) {
|
||||||
var statement = connection.createStatement();
|
var statement = connection.createStatement();
|
||||||
var resultSet = statement.executeQuery(query);
|
var resultSet = statement.executeQuery(sql);
|
||||||
var metaData = resultSet.getMetaData();
|
var metaData = resultSet.getMetaData();
|
||||||
var max = metaData.getColumnCount();
|
var max = metaData.getColumnCount();
|
||||||
var result = [];
|
var result = [];
|
||||||
|
@ -92,6 +92,11 @@ helma.Database = function(driver, url, user, password, name) {
|
||||||
return result;
|
return result;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
this.execute = function(sql) {
|
||||||
|
var statement = connection.createStatement();
|
||||||
|
return statement.execute(sql);
|
||||||
|
};
|
||||||
|
|
||||||
this.getName = function() {
|
this.getName = function() {
|
||||||
return source.getName();
|
return source.getName();
|
||||||
};
|
};
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue