J'ai une fonction Javascript très simple qui frappe un serveur MS SQL et retourne des enregistrements. Il y a une cellule que je veux afficher uniquement dans la ligne du tableau supérieur lorsqu'elle est unique. Je crois que mon problème est le hissage de var car la variable que j'affecte dans la boucle while ne fonctionne pas parce que la valeur n'est pas transmise des derniers enregistrements à comparer. Voici le codeJavascript var le problème de levage
function searchIndex()
{
var termcounter = "";
flyoutHTML = '<table>';
var adOpenDynamic = 2
var adLockOptimistic = 3
var conn = new ActiveXObject("ADODB.Connection");
var connectionstring = "Provider=SQLOLEDB;Server=XXXXXXXX;INTEGRATED SECURITY=SSPI;DATABASE=YYYYYYYYYY;"
conn.Open(connectionstring)
var rs = new ActiveXObject("ADODB.Recordset")
rs.Open("SELECT field1, field2, field4, field4, field5 FROM dbo.table;", conn)
if (rs.eof)
{
flyoutHTML += '<tr><td align="center">No Records Found!</td></tr>';
}
else
{
while(!rs.eof)
{
if (termcounter != rs(0))
{
var termcounter = rs(0);
flyoutHTML += '<tr>';
flyoutHTML += '<td colspan="3">' + rs(0) + '</td>';
flyoutHTML += '</tr>';
}
flyoutHTML += '<tr>';
flyoutHTML += '<td>' + rs(1) + '</td><td>' + rs(2) + '</td><td>' + rs(3) + '</td>';
flyoutHTML += '</tr>';
rs.movenext
}
rs.close
conn.close
flyoutHTML += '</table>';
}
Google devient omniprésent. Je viens de googler "javascript var hoisting" afin d'obtenir des documents officiels, et le premier résultat sur la page était cette question. –
Haha. C'est foutu! – Nosredna