c# - 使用 C# 连接并读取 .MDB 项目

标签 c# ms-access

是否可以连接到本地 MDB 文件并从中提取一点信息? 我在 .mbd 文件中有一个表,其中包含一点信息。我想将该记录输出到禁用的文本框中以供引用。我相信我可以打开数据库并运行查询,但不知道我需要从中读取什么。

谢谢

var myDataTable = new DataTable();
        using (var conection = new OleDbConnection("Provider=Microsoft.JET.OLEDB.4.0;" + "data source=C:\\menus\\newmenus\\menu.mdb;Password=****"))
        {
            conection.Open();
            var query = "Select siteid From n_user";
            var adapter = new OleDbDataAdapter(query, conection);
            OleDbCommandBuilder oleDbCommandBuilder = new OleDbCommandBuilder(adapter);
        }

最佳答案

要简单地读取数据库表中的单个字段,您可以使用 OleDbDataReader可以遍历结果并返回所需的字段..

var myDataTable = new DataTable();
using (var conection = new OleDbConnection("Provider=Microsoft.JET.OLEDB.4.0;" + "data source=C:\\menus\\newmenus\\menu.mdb;Password=****"))
{
     conection.Open();
     var query = "Select siteid From n_user";
     var command = new OleDbCommand(query, conection);
     var reader = command.ExecuteReader();
     while(reader.Read())
         textBox1.Text = reader[0].ToString();

 }

如果您只有一个记录和一个字段,那么更好的解决方案是方法 ExecuteScalar

     conection.Open();
     // A query that returns just one record composed of just one field
     var query = "Select siteid From n_user where userid=1";
     var command = new OleDbCommand(query, conection);
     int result = (int)command.ExecuteScalar();  // Supposing that siteid is an integer

也许我还应该提到,如果查询没有找到与 userid 的匹配项,ExecuteScalar 将返回 null,因此最好小心此处的转换

     object result = command.ExecuteScalar();
     if( result != null)
        int userID  = (int)result;
        .....

关于c# - 使用 C# 连接并读取 .MDB 项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16906535/

相关文章:

c# - 如何在 C# Windows 应用程序中实现 "second mouse cursor"?

c# - MSTest 相当于 NUnit 的参数化测试吗?

database - 自动禁用 MS Access From 文本框

mysql - 检索表中不存在的行

sql - 如何订购具有全选功能的 UNION 查询

c# - ASP.NET MVC3 : Force controller to use date format dd/mm/yyyy

c# - 为什么我不能在类上使用 ConditionalAttribute?

c# - 在流式传输 Web 请求时使用 StreamReader 流 .NET?

ms-access - 如何刷新列表框

mysql - 微软 Access : Query to add "If" condition