读取和格式化Access数据

时间:2013-05-07 15:49:37

标签: javascript html database ms-access hta

我正在使用JavaScript和HTA来读取本地访问数据库(.mdb)中的数据但有一个小问题。我的JavaScript代码是这样的:

function miseryBusiness() {
    var box = document.getElementById("lyrics");
    box.innerHTML = "";

    var db = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source='paramore.mdb'";
    var adoConn = new ActiveXObject("ADODB.Connection");
    var adoRS = new ActiveXObject("ADODB.Recordset");
    adoConn.Open(db);
    adoRS.Open("SELECT * from 2007_RIOT WHERE track=4", adoConn, 1, 3);

    var lyrics = adoRS.Fields("lyrics").value;
    box.innerText = lyrics;

    adoRS.Close();
    adoConn.Close();
}

我在页面中有一个id =“lyrics”的div。函数获取指定单元格的值,并将div的内部文本更改为该值。

我想要做的是使用innerHTML而不是innerText。如果我使用内部HTML,我将单元格的值作为单行。我想在每一行的末尾添加换行符。也是文本开头的锚。

如果我从.txt文件中获取文本,我会使用

while(!lyrics.AtEndOfStream) {
    box.innerHTML += '<a id="miseryBusiness">' + lyrics.ReadLine() + '<br/>';
}

但这不适用于Access数据库。或者我无法让它发挥作用。有什么想法吗?

我正在使用的HTA和.mdb文件:link1 link2

1 个答案:

答案 0 :(得分:1)

如果歌词位于具有强制换行符的备注字段中,则行终止符几乎肯定是<cr><lf>,请尝试以下操作:

box.innerHTML = '<a id="miseryBusiness">' + lyrics.replace(/\r\n/g, '<br/>');