0

C# アプリケーションのログイン ページを開発しています。ここでは、Excel シートを使用してユーザー資格情報を保存しています。

  • ここで、私がしなければならないことは、ユーザーが自分の資格情報を入力して [ログイン] ボタンをクリックしたときです。

    1. 「USERIDS」Excel シートを DataTable のオブジェクトにロードします。
    2. 次に、「USERIDS」テーブルの「USER_ID」列で「tbuserid」テキストボックスに指定されたユーザー ID を確認します。
    3. ユーザー ID が一致する場合は、対応する一致レコードの「PASSWORD」フィールドを確認します [つまり、PASSWORD フィールド全体を確認する必要はありません] 注: ユーザー ID が一致しない場合、パスワード フィールドを確認する必要はありません。「ErrorProvider」コントロールを使用してアラート メッセージを表示する

    4. ユーザー ID とパスワードの両方が一致する場合は、このログイン フォームを閉じて、「Form1」フォームを開きます。

  • パスワード フィールドのテキスト ボックスは、'*' 文字で表示されます。

  • 問題: 認証情報を入力した後で [ログイン] ボタンをクリックすると、エラー メッセージが表示されます。

ところで、次の接続文字列ステートメントが使用されます。

con1 = new OleDbConnection("Provider=Microsoft.JET.Oledb.4.0;Data Source=D:\\USERIDS.xls;Extended Properties=Excel 8.0; HDR=Yes;IMEX=1");
4

1 に答える 1

0

C# で Excel を使用するには: Interop (Microsoft.Office.Interop.Excel) を使用します。

すなわち:

//Added Namespaces
using System.Net;
using System.Net.Mail;
using System.IO;
using Excel = Microsoft.Office.Interop.Excel;
using System.Runtime.InteropServices;
using System.Reflection;


    private Object[,] generateExcel()
    {
        //Open excel file
        Excel.Application objApp = new Excel.Application();
        Excel.Workbooks objBooks = objApp.Workbooks;
        Excel._Workbook objBook = objBooks.Open("YourPathHere", Missing.Value, Missing.Value, Missing.Value, Missing.Value,Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value);
        Excel.Sheets objSheets = objBook.Worksheets;
        Excel._Worksheet objSheet = (Excel._Worksheet)objSheets.get_Item(1);
        objApp.DisplayAlerts = false;

        //Opens excel - remove this line for end product
        objApp.Visible = true;

        //Data portion
        //Your range as the arguement
        Excel.Range objRange = (Excel.Range)objSheet.get_Range("A6", "D6");

        //Create table
        Object[,] tableData = (Object[,])objRange.Value2;

        //Close excel - add this in end product
        objApp.Application.Quit();

        return tableData;
    }

これは、すべての Excel データのオブジェクト配列を返します。その時点で、次のように進みます: table[x,y].ToString();

これで、ログインを比較する文字列ができました! 幸運を!

于 2009-09-22T16:23:45.507 に答える