mareuh
Messages postés6Date d'inscriptionmercredi 17 décembre 2008StatutMembreDernière intervention18 décembre 2008
-
17 déc. 2008 à 16:00
Bul3
Messages postés4933Date d'inscriptionsamedi 1 juillet 2006StatutMembreDernière intervention 2 février 2015
-
18 déc. 2008 à 12:45
Bonjour, je suis novice en progarmmation javascript, et j'ai besoin de dévélopper une application en javascript qui récupère des données dans une base de données Access 2003. j'ai pour cela créer mon ODBC nomer "Test Com.mdb". seulement, je ne parvient pas à communiquer avec ma base de données.
Ma base de données contient une table nomée "Bloc1", un champ nommé "Pos1" et une clé de registre nommée"NomBloc".
voici mon code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "DTD/xhtml1-strict.dtd">
<html>
<head>
<Class.forName("JBDC-OBDC");>
<Class.forName("sun.jdbc.odbc.JdbcOdbcDriver").newInstance();>
<Connection con = DriverManager.getConnection(Test com.mdb);>
<script type="text/javascript">
function requete ()
{ var result "SELECT Pos1 FROM Bloc1 WHERE NomBloc'TOTO' " ;
alert (result);
}
</script>
</head>
Bul3
Messages postés4933Date d'inscriptionsamedi 1 juillet 2006StatutMembreDernière intervention 2 février 201516 17 déc. 2008 à 18:10
bonjour,
euh...
<Class.forName("JBDC-OBDC");>
<Class.forName("sun.jdbc.odbc.JdbcOdbcDriver").newInstance();>
<Connection con = DriverManager.getConnection(Test com.mdb);>
c'est quoi ? quel langage ?
ni du javascript, ni du html... si ?
en javascript ça ressemblerait plutôt à :
var db =new ActiveXObject( "ADODB.Recordset" );
var driver = "Driver={Microsoft Access Driver (*.mdb)};";
var connect = driver + "DBQ=adresse de la base de données" ;
ici c'est l'exemple pour access 2000, mais bon...
@+
mareuh
Messages postés6Date d'inscriptionmercredi 17 décembre 2008StatutMembreDernière intervention18 décembre 2008 18 déc. 2008 à 08:20
Effectivement, j'ai tendance à mélanger un peu tous les languages . j'ai plus l'habitude du V.B.
je te remercie de ta réponse, mais à présent c'est ma fonction select qui n'est pas correct.
quelqu'un à une proposition à me faire ?
Bul3
Messages postés4933Date d'inscriptionsamedi 1 juillet 2006StatutMembreDernière intervention 2 février 201516 18 déc. 2008 à 09:35
bah.. tu ne l'envoies pas ?
comment peux-tu dire que c'est incorrect ?
dans la lignée de mon exemple :
var sql = "SELECT * FROM nom_table WHERE nom_champ='"+valeur+"'";
db.Open(sql,connect);
@+
mareuh
Messages postés6Date d'inscriptionmercredi 17 décembre 2008StatutMembreDernière intervention18 décembre 2008 18 déc. 2008 à 11:24
Merci pour ton aide Bul3, voici à présent mon code :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "DTD/xhtml1-strict.dtd">
<html>
<head>
<SCRIPT language="Javascript">
<!-- var sql ; // -->
</SCRIPT>
<script type="text/javascript">
function requete () {
var db =new ActiveXObject( "ADODB.Recordset" );
var driver = "Driver={Microsoft Access Driver (Test com.mdb)};" ;
var connect = driver + "DBQ=Test db com.mdb" ;
sql = "SELECT Pos1 FROM Bloc1 WHERE NomBloc=' TOTO ' ";
db.Open(sql,connect);
alert (sql);
}
</script>
</head>
<!-- Affiche le bouton //-->
</html>
à présent, j'ai le défaut "Source de donnée introuvable, et nom de pilote non spécifié".
je ne vois pas ou est l'erreur !
pour info, je fichier Test db com.mbd est à la même racine que mon code html.
je ne vois pas de quelle manière je doit coder le chemin de ma base et de mon driver...
Vous n’avez pas trouvé la réponse que vous recherchez ?
Bul3
Messages postés4933Date d'inscriptionsamedi 1 juillet 2006StatutMembreDernière intervention 2 février 201516 18 déc. 2008 à 12:45
>>je met quoi après "DBQ= ????" ?
le chemin + le nom de ta base de données....
ch'tiot exemple ici
comme la base est dans le même répertoire que le .hta,
et le nom s'en tire, j'use de :
var fso=new ActiveXObject("Scripting.FileSystemObject");
var url=unescape(self.location.pathname);
var adr=(fso.GetExtensionName(url).toLowerCase()!='hta')?1:0;
var dir=fso.GetParentFolderName(url).substr(adr);
var base=dir + "\" + fso.GetBaseName(url) + ".mdb";
var db =new ActiveXObject( "ADODB.Recordset" );
var driver = "Driver={Microsoft Access Driver (*.mdb)};";
var connect = driver + "DBQ="+base ;