* 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.
|
||||
*
|
||||
* $RCSfile: helma.Database.js,v $
|
||||
* $RCSfile: Database.js,v $
|
||||
* $Author: czv $
|
||||
* $Revision: 1.5 $
|
||||
* $Date: 2006/04/18 13:06:58 $
|
||||
* $Revision: 1.2 $
|
||||
* $Date: 2006/04/24 07:02:17 $
|
||||
*/
|
||||
|
||||
|
||||
|
@ -19,19 +19,17 @@ if (!global.helma) {
|
|||
global.helma = {};
|
||||
}
|
||||
|
||||
helma.Database = function(driver, url, user, password, name) {
|
||||
if (!driver || !url || !user)
|
||||
helma.Database = function(driver, url, name, user, password) {
|
||||
if (!driver || !url || !name)
|
||||
throw("Insufficient arguments to create helma.db.Connection");
|
||||
if (!name)
|
||||
name = "db" + new Date().getTime();
|
||||
if (typeof password != "string")
|
||||
password = "";
|
||||
|
||||
MYSQL = "mysql";
|
||||
ORACLE = "oracle";
|
||||
JDBC = "jdbc:";
|
||||
DRIVER_MYSQL = "org.gjt.mm.mysql.Driver";
|
||||
DRIVER_ORACLE = "oracle.jdbc.driver.OracleDriver";
|
||||
var MYSQL = "mysql";
|
||||
var ORACLE = "oracle";
|
||||
var JDBC = "jdbc:";
|
||||
var DRIVER_MYSQL = "org.gjt.mm.mysql.Driver";
|
||||
var DRIVER_ORACLE = "oracle.jdbc.driver.OracleDriver";
|
||||
|
||||
if (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 DatabaseObject = Packages.helma.scripting.rhino.extensions.DatabaseObject;
|
||||
|
||||
var DbSource = Packages.helma.objectmodel.db.DbSource;
|
||||
|
||||
var props = new Packages.helma.util.ResourceProperties();
|
||||
props.put(name + ".url", url);
|
||||
props.put(name + ".driver", driver);
|
||||
if (user) {
|
||||
props.put(name + ".user", user);
|
||||
props.put(name + ".user", user)
|
||||
}
|
||||
if (password) {
|
||||
props.put(name + ".password", password);
|
||||
}
|
||||
var source = new DbSource(name, props);
|
||||
|
@ -77,9 +77,9 @@ helma.Database = function(driver, url, user, password, name) {
|
|||
return this.getProductName() == MYSQL;
|
||||
};
|
||||
|
||||
this.query = function(query) {
|
||||
this.query = function(sql) {
|
||||
var statement = connection.createStatement();
|
||||
var resultSet = statement.executeQuery(query);
|
||||
var resultSet = statement.executeQuery(sql);
|
||||
var metaData = resultSet.getMetaData();
|
||||
var max = metaData.getColumnCount();
|
||||
var result = [];
|
||||
|
@ -92,6 +92,11 @@ helma.Database = function(driver, url, user, password, name) {
|
|||
return result;
|
||||
};
|
||||
|
||||
this.execute = function(sql) {
|
||||
var statement = connection.createStatement();
|
||||
return statement.execute(sql);
|
||||
};
|
||||
|
||||
this.getName = function() {
|
||||
return source.getName();
|
||||
};
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue