Lire et écrire dans une base de données access à l'aide de Javascript

d'abord je tiens à préciser que je suis conscient que, dans le web, l'interaction avec les bases de données
toujours être à côté serveur langues pour des raisons de sécurité et pour le fait que javascript
comme n'offre pas et la compatibilité avec le système de fichiers windows.

cela dit, je suis confronté à un bien de la situation et je suis en train de penser de façon créative.
Je ne suis pas autorisé à accéder à un serveur verso de script et de SQL.

et j'ai besoin de créer un client en fonction de l'application pour un intranet qui sera capable de stocker des données comme le temps de progrès.

J'ai trouvé 2 solutions jusqu'à présent, mais aucun d'eux n'a assez de documentation pour moi de l'utiliser correctement.

est une bibliothèque javascript appelé ACCESSdb qui peut être trouvé ici:ACCESSdb
malheureusement, je n'arrivais pas à comprendre comment l'utiliser pour écrire ou lire des données à partir de la DB...

et l'autre de ces 3 morceaux de code:

L'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();
}  

La 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();
}  

La 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();
}  

sortent seulement la ajouter un nouvel enregistrement a travaillé pour moi pour une raison...
j'ai également découvert que la lecture de la valeur de n'importe quelle cellule dans la première ligne, tout ce que j'avais à faire était d'écrire:

alert(adoRS(cellNum));  

mais comment puis-je obtenir la valeur de cellules dans les dernières lignes? permet de dire (ligne 3,cellule 5).

Je vous remercie pour la lecture de ce jour! Je vous remercie de votre aide beaucoup!

Jake

Je n'ai pas utilisé ActiveXObject créé ADODB avant, mais on peut essayer de changer adoRS.Delete à adoRS.Delete(), adoRS.Edit à adoRS.Edit() et adoRS.Update à adoRS.Update(). Vous devez utiliser un ms-access db(c'est sur un partage réseau ou quelque chose)?
Merci, je vais essayer vos suggestions. oui, il sera assis sur un lecteur réseau. aussi savez-vous comment je peux extraire des valeurs de cellules dans les lignes plus bas puis le premier?
Avez-vous essayé adoRS.moveNext()? msdn.microsoft.com/en-us/library/windows/desktop/...
Merci il ne me faire à l'enregistrement suivant. 🙂 savez-vous si une façon de l'obtenir directement à la 50e enregistrement sans boucle, le adoRS.moveNext() 50 fois? comme permet de dire adoRS.moveNext(50) ou quelque chose comme ça...
aussi, j'ai juste essayé la adoRS.Effacez() et cela a fonctionné parfaitement. merci beaucoup Prusse. Je n'ai même pas pris la peine de regarder le site MSDN avant parce que je pensais que toutes les méthodes y sont uniquement pour microsoft langages(C,C++,C#,VB...) je ne pense pas que javascript soit supportée. m'attendais à quelque chose de beaucoup plus compliqué.

OriginalL'auteur Jake | 2012-03-19