2016-11-26 8 views
-2

私は属性テーブルとtotal_marksを持っています。ここでstudent_idは学生テーブルの主キーを指します。MySQLテーブルとJavaを使用したExcelテーブルを比較してください

私はExcelファイルとして保存された同じマークテーブルを持っています。

ここで、MySQLデータベースのデータとExcelファイルのデータが一致していない学生を見つけるためのJavaプログラムを作成します。

+3

あなたはすでに試したことを表示できますか? データベースを照会するのにJDBCを使用していますか?あなたは単にファイルシステムからExcelファイルを読み込んでいますか? ExcelファイルはCSV形式ですか?あなたのJavaプログラムは単純なコマンドラインプログラムですか、それともUIを持っていますか? – mangotang

+0

JavaアプリケーションでJDBCを使用してテーブルにアクセスする方法を知っていますか?あなたはExcelファイル(csv形式)をJavaアプリケーションに読み込む方法を知っていますか?もしそうでなければ、私たちはやるべきことが少しあります。 – mangotang

+0

私のJavaプログラムは、UIを持たない単純なコマンドラインプログラムです。 Excelファイルは.xlsx形式です。私は、JDBC接続を使用して、データベースとApache POIから読み込み、Excelファイルから読み込みます。現在のところ、私は比較だけに固執しています。 – Anil

答えて

0

解決方法: データベースにクエリを実行し、テーブルの内容をHashMapにロードします。ここで、HashMapのキーはテーブルの主キーです。ハッシュマップの値は、主キーに関連付けられた行です。

エクセルファイルを読み込み、ハッシュマップのキーとしてプライマリキーを使用してHashMapにロードします。ハッシュマップの値は、Excelファイルの対応する行です。

次に、(データベースからの)最初のHashMapの各キーをループし、そのキーを使用してDBテーブルのHashMapとExcelファイルのHashmapの両方にアクセスします。これらのキーの値を比較します。この時点で、ミスマッチを別のListまたはHashMapに配置するなどして、不一致を「フラグ」することができます。

+0

しかし、表のstudent_idには複数のエントリがあります。マーク・テーブルでは、それは外部キーです。 – Anil

+0

マーク表とエクセルシートのサンプルを投稿し、この文脈で「不一致」が何を意味するのかを定義してください。 – mangotang

関連する問題