Comment accéder à la base de données dans les fichiers HTA? Ou mieux encore, accéder à tout COM? Je suis familier avec AutoIt, AutoHotKey et Windows Script Host. Existe-t-il un moyen d'inclure l'un de ces éléments dans une application HTA?HTML Application et bases de données
1
A
Répondre
1
Vous le faites exactement de la même manière que dans VBScript. Voici un exemple de création d'une feuille de calcul à l'aide d'Excel.
Pour accéder aux bases de données, vous pouvez utiliser l'objet ADODB et pour créer une base de données, vous devez utiliser l'objet ADOX. Vous devez connaître la bonne chaîne de connexion pour le type de base de données dont vous avez besoin.
<html>
<!-- COMTest.hta -->
<head>
<hta:application
id="oHTA"
border="thick"
borderstyle="raised"
caption="yes"
maximizebutton="no"
minimizebutton="yes"
showintaskbar="yes"
singleinstance="yes"
sysmenu="yes"
version="0.1"
windowstate="normal"
/>
<title>COM Test</title>
<script language="VBScript">
sub say(s)
output.innerHTML = output.innerHTML & s & "<br>"
end sub
sub ComTest()
say "testing COM"
xlFile = "c:\test\ExcelTest.xls"
' use .xslx if you have Office 2007 or greater
set fso = CreateObject("Scripting.FileSystemObject")
if fso.FileExists(xlFile) then
say "deleting test file: " & xlFile
end if
say "creating Excel Application object and workbook"
set oEx = CreateObject("Excel.Application")
set oWb = oEx.Workbooks.Add() ' create a new workbook
set oWs = oWb.Worksheets(1) ' point to first worksheet
oWs.cells(1,1) = "Test Worksheet"
oWs.cells(2,1) = "=now()"
oWs.UsedRange.Columns.AutoFit
say "saving test file: " & xlFile
oEx.DisplayAlerts = false ' if file exists, overwrite it without prompting
oWb.SaveAs xlFile
oEx.Quit
set oEx = nothing
say "done"
end sub
</script>
<style type="text/css">
body {
overflow: auto;
background-color: "blanchedalmond";
}
#output {
color: lightgreen;
background-color: black;
font-family: "Lucida Console";
font-size: 9pt;
padding: 3px;
}
</style>
</head>
<body>
<input type="button" value="test" onclick="ComTest">
<br>
<pre id="output"></pre>
</body>
<script language="vbscript">
sub ShowTitle()
say document.Title
say "command line=" & oHTA.commandLine
end sub
ShowTitle
</script>
</html>
0
Pour accéder à la base de données, vous devez utiliser l'objet ActiveXObject.
var conn = new ActiveXObject("ADODB.Connection");
var rs = new ActiveXObject("ADODB.Recordset");
conn.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=handbook.mdb");
rs.Open("select * from faq", conn, 3, 2);
if (!rs.BOF && !rs.EOF) {
questionField.value = rs.fields('question').value;;
answerField.value = rs.fields('answer').value;
}
0
Je pris les deux réponses et a fusionné comme suit:
a) Je mis à jour COMTest() à partir d'un test Excel pour accéder à un oracle db
b) ActiveXObject ne fonctionne que pour JScript, donc je l'a converti en VBScript selon: http://msdn.microsoft.com/en-us/library/ms756007(v=vs.85).aspx
sub ComTest()
say "testing COM"
dim conn, rs
set conn = CreateObject("ADODB.Connection")
Set rs = CreateObject("ADODB.Recordset")
conn.Open("Provider=OraOLEDB.Oracle;Data Source=XXXX;User ID=XXXX;Password=XXXX")
say "open conn"
rs.Open "select sysdate from dual", conn
say "sqlResult =" & rs.Fields("sysdate").Value
'Close connection and clean up objects
conn.Close
say "close conn"
Set rs = Nothing
Set conn = Nothing
say "done"
end sub
Questions connexes
- 1. Application de bloc-notes et bases de données
- 2. Bases de données et Qt
- 3. Mediawiki et bases de données
- 4. Bases de données et DVCS
- 5. nginx_http_push_module et bases de données
- 6. portage et sauvegarde de bases de données
- 7. tapestry-hibernate et 2 bases de données
- 8. bases de données relationnelles et messages multidiffusion
- 9. Prism Modules et bases de données
- 10. StructureMap, NHibernate et plusieurs bases de données
- 11. Développement et production de bases de données
- 12. register_shutdown_function et problème de bases de données!
- 13. BASES DE DONNÉES CLARION
- 14. Utilisation de plusieurs bases de données dans une seule application
- 15. Utilisation de bases de données prédéfinies dans mon application
- 16. NHibernate et plusieurs bases de données
- 17. Points Bullet et bases de données
- 18. Realtional bases de données et requêtes
- 19. Firefox, et Camino localStorage/Bases de données
- 20. Bases de données et troisième forme normale
- 21. Entity Framework et bases de données multilingues
- 22. Bases de données intégrables et toplink
- 23. Django et plusieurs bases de données
- 24. Bases de données Clojure et NoSQL
- 25. bases de données log4j et NoSQL
- 26. Bases de données relationnelles et langages OO
- 27. Bases de données XML et ORM
- 28. application SubSonic qui se connecte à plusieurs bases de données
- 29. RoR: comment tester mon application sur plusieurs bases de données?
- 30. Application design unique vs plusieurs bases de données