Lire et écrire sur une base de données d'accès à l'aide de Javascript

D'abord, je tiens à préciser que je suis conscient que, dans l'interaction avec les bases de données,
Toujours avec les langues du côté du serveur pour des raisons de sécurité et pour le fait que javascript
Comme cela ne l'offre pas et la compatibilité avec le système de fichiers Windows.

Cela dit, je suis confronté à une situation et j'essaie de penser de manière créative.
Je ne suis pas autorisé à accéder à un script de serveur et à SQL.

Et j'ai besoin de créer une application basée sur le client pour un intranet qui pourra stocker les données au fil du temps.

J'ai trouvé jusqu'à présent 2 solutions, mais aucune d'entre elles n'a suffisamment de documentation pour que je puisse utiliser correctement.

L'une est une bibliothèque javascript appelée ACCESSdb qui peut être trouvée ici: ACCESSdb
Malheureusement, je ne pouvais pas comprendre comment l'utiliser pour écrire ou lire des données à partir du DB …

Et l'autre est ces 3 morceaux de code:

Ajout d'un enregistrement:

function AddRecord() { var adoConn = new ActiveXObject("ADODB.Connection"); var adoRS = new ActiveXObject("ADODB.Recordset"); adoConn.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source='/\dbName.mdb'"); adoRS.Open("Select * From tblName", adoConn, 1, 3); adoRS.AddNew; adoRS.Fields("FieldName").value = "Quentin"; adoRS.Update; adoRS.Close(); adoConn.Close(); } 

Suppression d'un enregistrement:

 function DeleteRecord() { var adoConn = new ActiveXObject("ADODB.Connection"); var adoRS = new ActiveXObject("ADODB.Recordset"); adoConn.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source='\\dbName.mdb'"); adoRS.Open("Select * From tblName Where FieldName = 'Quentin'", adoConn, 1, 3); adoRS.Delete; adoRS.Delete; adoRS.Close(); adoConn.Close(); } 

Modification d'un enregistrement:

 function EditRecord() { var adoConn = new ActiveXObject("ADODB.Connection"); var adoRS = new ActiveXObject("ADODB.Recordset"); adoConn.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source='\\dbName.mdb'"); adoRS.Open("Select * From tblName Where FieldName = 'Quentin'", adoConn, 1, 3); adoRS.Edit; adoRS.Fields("FieldName").value = "New Name"; adoRS.Update; adoRS.Close(); adoConn.Close(); } 

À partir d'eux seulement l' ajout d'un nouvel enregistrement, on m'a travaillé pour une raison quelconque …
J'ai également trouvé que pour lire la valeur de n'importe quelle cellule dans la première ligne, tout ce que je devais faire, c'était d'écrire:

 alert(adoRS(cellNum)); 

Mais comment puis-je obtenir la valeur des cellules dans les rangées ultérieures? Disons (ligne 3, cellule 5).

Merci d'avoir lu jusqu'à maintenant! J'apprécierai beaucoup votre aide!

Jake

    Tout d'abord, assurez-vous que '/ \' et '\' (dans la chaîne de connexion) ne soit qu'une erreur de frappe dans SO.

    Deuxièmement, voici une version de la commande Supprimer:

     function DeleteRecord() { var adoConn = new ActiveXObject("ADODB.Connection"); var adoCmd = new ActiveXObject("ADODB.Command"); adoConn.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source='\\dbName.mdb'"); adoCmd.ActiveConnection = adoConn; adoCmd.CommandText = "Delete * From tblName Where FieldName = 'Quentin'"; adoCmd.Execute(); adoConn.Close(); } 

    Et, la commande Edit (sans boucle -> met à jour tous les enregistrements [correspondants]):

     function EditRecord() { var adoConn = new ActiveXObject("ADODB.Connection"); var adoCmd = new ActiveXObject("ADODB.Command"); adoConn.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source='\\dbName.mdb'"); adoCmd.ActiveConnection = adoConn; adoCmd.CommandText = "Update tblName Set FieldName = 'New Value' Where FieldName = 'Quentin'"; adoCmd.Execute(); adoConn.Close(); } 

    Veuillez noter que je n'ai pas testé ceci (je n'ai pas accès dès maintenant), il se peut qu'il y ait des problèmes de syntaxe …

    J'espère que cela fonctionne et aide.

      function loadDB() { var connection = new ActiveXObject("ADODB.Connection"); var connectionstring = "Data Source=.;Initial Catalog=EmpDetail;Persist Security Info=True;User ID=sa;Password=Micr0s0ft;Provider=SQLOLEDB"; connection.Open(connectionstring); var rs = new ActiveXObject("ADODB.Recordset"); rs.Open("select * from emp", connection); rs.MoveFirst(); var span = document.createElement("span"); span.style.color = "Blue"; span.innerText = " ID " + " Name " + " Salary"; document.body.appendChild(span); while (!rs.eof){ var span = document.createElement("span"); span.style.color = "green"; span.innerText = "\n " + rs.fields(0) + " | " + rs.fields(1) + " | " + rs.fields(2); document.body.appendChild(span); rs.MoveNext(); } rs.close(); connection.close(); }