2009-07-29 9 views
1

私は、htmlファイルとjavascriptファイルでMS Accessデータベースレコードを読み取ることができるようにしています。私はデータベースがそれを読むためにhtml/JSファイルのためにクライアントに座る必要があることを理解しています。しかし、いくつかのテストが成功した後、MS Accessフロントエンドがテーブルにアクセスできる限り、Accessデータベースのフロントエンドだけがクライアント上でhtml/JSファイルがテーブルを読み取ることができるようになっていますこれは分割され、ネットワーク化されたサーバーに配置されます。言ったことでHTMLとJavascriptファイルからアクセスデータベースレコードを読み取る

、私は次のコードでMS Accessデータベースにレコードを追加することができました:

function AddRecord() 
{ 
    var adoConn = new ActiveXobject("ADODB.Connection"); 
    var adoRS = new ActiveXobject("ADODB.Recordset"); 

    adoConn.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source='C:\\... to Db front-end'"); 
    adoRS.Open("Select SomeTable.* From SomeTable", adoConn, 1, 3); 

    alert('adoRs'); 
    adoRS.Close(); 
    adoConn.Close(); 
} 

この機能は、HTMLのテキストボックスとボタンで実行されます。レコードを追加するのではなく、誰かがJavascript関数を使ってhtmlテキストボックスまたはアラートボックスにMS Acecessレコードを表示する方法を知っていたのかどうか疑問に思っていましたか?

+0

adoRS.GetStringは不適切ですか? – Fionnuala

+0

Hello Remou - 私はadoRS.GetStringに慣れていません。それはそのトリックを行うかもしれないように聞こえる。文字列がテキストボックスに表示されるようにこれを適合させる方法を理解することができます。しかし、簡単な提案はありますか? ありがとう、 DFM –

+0

@Remou doRS.GetStringはサーバー側の機能ではありません(ASP)? – clamchoda

答えて

1

なぜあなたは穴を掘り、セキュリティ上の問題を引き起こしますか?どんなサーバサイド言語でも少し学んで、それにアクセスしてください。

このライブラリを実際に使用したい場合は、http://www.accessdb.org/を使用してアクセスして読みやすくすることができます。

+0

Thanks Epascarello - このプロジェクトは、少なくともこの環境ではDbテーブルが安全だと思うネットワークドライブにアクセスできる少数の人々と内部的にしか使用されませんでした。しかし、私はサーバー側の言語を使用することに同意しますが、このプロジェクトの範囲が狭いため、アプリケーションの作成とインストールは扱いませんが、メモ帳やDbフロントエンドでパッケージ化してください。 の おかげで再び、よりそのJavaScriptライブラリで DFM –

+0

ルックは、あなたのために汚い仕事の多くを行うようです。 – epascarello

0

クライアント側にいくつかのデータベースのようなストレージが含まれているhtml 5はしばらくお待ちください。 Thisサイトには、かなり新しい互換性テーブルがあります。

実際に複数のユーザー間でデータを格納したい場合は、epascarelloが正しいので、実際にこのようなコードをサーバー側に移動する必要があります。

0

html/jsソリューションを動作させるためにユーザーのコンピュータにAccessフロントエンドを配置する場合、アクセスしようとする代わりにAccessフロントエンドで行う必要があるのはなぜですかhtml/jsはそれを行うには?

+0

アクセスをインストールする必要はありませんか? mdbファイルは単なるソースであり、アプリケーションとはまったく関係がないように見えます。 – JeffO

+0

無料のAccessランタイムをマシンにインストールできます。 – KevenDenen

+0

こんにちはKeven - html/JSファイルは、複数のAccess Db間の仲介者として機能します。このファイルはネットワークドライブを介して特定のファイルを検索し、エンドユーザーが利用できるアプリケーションやその他のデータベースを実行したり、特定の数式を実行したりします。html/JSファイルは、Accessフロントエンドが実行できる機能。 ありがとう、 Damion –

0

Accessdb Jackcessに加えて、MS Accessデータベースの読み書き用の純粋なJavaライブラリがあります。 http://jackcess.sourceforge.net/ 私はJavaについては何も知らないし、あなたのプロジェクトにどのように適しているかを知っていることに注意してください。

+0

Jet/ACEデータベース用です。それはアクセスについて何も知らない(OPはそれ以上のものが必要ではない)。 –

+1

Javaはjavascriptとは異なります! – clamchoda

0

フロントエンドを使用する代わりに、作業するフロントエンドのテーブルの接続文字列をチェックし、ADO接続文字列でバックエンドのMDBを直接使用しないでください。

私は、AccessがインストールされていないユーザーのPCにアクセスフロントエンドがある理由を理解するのが難しいです。アクセスフロントエンドには、Access自体がなくても使用できるものは何もありません。

+0

こんにちはDavid - エンドユーザーにはAccessがインストールされており、フロントエンドは基本的に一般的なDbフロントエンドです。ただし、html/JSファイルは、複数のAccess Dbsを読み込んだり、複数のアプリケーションを実行したり、冗長なドライブネットワーク全体で特定のフォルダやファイルを検索したり、その他の機能を備えた統合アプリケーションになります。あなたのOS上にOSを持つようなものだが、ウェブブラウザでレンダリングされる。つまり、html/JSファイルは、エンドユーザーのシンクライアントから利用できるすべてのコンテンツのテーブルとして機能します。進行中の作業です。 ありがとう、 DFM –

+0

OK、面白いですね。しかし、興味のある実際のデータを持つバックエンドを見つける方法を除いて、フロントエンドを使用する必要はありません。 –

0

これは、レコードセットの最初のフィールドを返します。

alert(adoRS(1)); 
関連する問題