0

我正在为我的 C# 应用程序开发登录页面。在这里,我使用 Excel 表来存储用户凭据。

  • 在这里,我要做的是,当用户提供他的凭据并单击登录按钮时:

    1. 将“USERIDS” Excel 工作表加载到 DataTable 的对象中。
    2. 现在检查给定“tbuserid”文本框和“USERIDS”表的“USER_ID”列的用户ID。
    3. 如果User Id 匹配,则检查对应匹配记录的“PASSWORD”字段,[即不是整个PASSWORD 字段需要检查] 注意:如果User 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)

IE:

//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 回答