到.accdb文件的简单C#连接

本文关键字:连接 简单 accdb 文件 | 更新日期: 2023-09-27 18:21:36

我只想从.accdb文件中的表中检索数据。

这是我的完整申请:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Data.OleDb;
namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        private void button1_Click(object sender, EventArgs e)
        {
            OleDbConnection myConn = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:/Microland.accdb;Persist Security Info=False;");
            myConn.Open();
            OleDbCommand myQuery = new OleDbCommand("select CustID from Customers WHERE CustID = 1;", myConn);
            OleDbDataReader myReader = myQuery.ExecuteReader();
             if(myReader.HasRows)
             {
                myReader.Read();
                label1.Text = myReader.ToString();
             }
            myConn.Close();
        }
    }
}

我想我在最上面缺少了一些用法,或者我的代码有点坏了,因为当我单击按钮1时,标签1文本将更改为System.Data.OleDb.OleDbDataReader.

此外,这是连接到访问数据库(.accdb)的正确方式吗?我是否需要进行此演练才能使其工作,或者这与我需要做的无关?

感谢提供任何信息!非常感谢

到.accdb文件的简单C#连接

当您调用myReader.ToString()时,它会返回一个表示当前对象的字符串。所以"System.Data.OleDb.OleDbDataReader"就是这样。

似乎您希望标签与读取的数据相等。我对这位读者并不特别熟悉,但请参阅此处获取文档。

您需要调用其中一个Get*()函数。

label1.Text = myReader["CustID"] as string; // if nullable field

label1.Text = (string)myReader["CustID"] // if not null