Ver Mensaje Individual
  #12  
Antiguo 12-02-2008
keyboy keyboy is offline
Miembro
 
Registrado: oct 2004
Posts: 367
Reputación: 20
keyboy Va por buen camino
Cita:
Empezado por enecumene
una pregunta con javascript puedo manejar con base de datos Access
Ya que estás usando el IE (TWebBrowser), puedes usar las inseguridades de éste y acceder a una base de datos de Access mediante controles ActiveX. Aquí te pongo un ejemplo que trabaja sobre una tabla

Código:
producto = (id, producto)
Aquí el archivo html

Código:
<!doctype html public "-//w3c//dtd html 4.0//en">
<html>
<head>
<meta http-equiv='content-type' content='text/html; charset=iso-8859-1'>
<title> adojs </title>
<style type='text/css'>
body
{
  font: .9em sans-serif;
}

table#productos
{
  border-collapse: collapse;
  border: none;

  margin-bottom: 1.5em;
}

table#productos col.id
{
  width: 4em;
}

table#productos col.producto
{
  width: 24em;
}

table#productos th, table#productos td
{
  border: 1px solid silver;
}
</style>

<script type='text/javascript'>
window.onload = function()
{
  /*
   * Abrir conexión con la base de datos
   *
   * Obsérvese que la ruta a la base usa dobles \
   */
  adoConnection = new ActiveXObject('ADODB.Connection');
  adoConnection.connectionString = 
    'Provider=Microsoft.Jet.OLEDB.4.0;' +
    'Data Source=C:\\ruta\\al\\archivo.mdb;';

  /*
   * open provocará algunos mensajes de advertencia al usuario. Pero
   * pasados estos, las consultas se hacen sin problemas.
   */
  adoConnection.open;


  /*
   * Obtener una referencia a la tabla HTML de productos
   */
  oTable = document.getElementById('productos');
}

/**
 * Ejecuta una consulta SQL y llena la tabla HTML con los datos recabados
 */
function leerDatos()
{
  var adoRecordset = adoConnection.Execute('select * from producto');

  while (!adoRecordset.EOF)
  {
    var oRow = oTable.insertRow();  

    var oTd = oRow.insertCell();
    oTd.innerHTML = adoRecordset('id');

    var oTd = oRow.insertCell();
    oTd.innerHTML = adoRecordset('producto');

    adoRecordset.MoveNext;
  }

  adoRecordset.Close;
}
</script>
</head>
<body>
<h1>Productos</h1>

<table id='productos' summary='Lista de productos'>
<col class='id'>
<col class='producto'>
<tr>
  <th>id</th>
  <th>producto</th>
</tr>
</table>
</body>

<input type='button' id='btnLeer' value='Leer datos' onclick='leerDatos()'>
</html>
De todas formas, como ya te han comentado, lo mejor sería dejar que delphi haga todo el proceso pesado y simplemente "vaciar" la información al TWebBrowser. Aunque, ya entrados en gastos, ¿por qué no olvidarse del éste y mostrar los resultados con controles propios de Delphi?

Bye

Última edición por keyboy fecha: 12-02-2008 a las 19:04:04.
Responder Con Cita