我正在使用 Access 2007 和 C# 来学习数据库。到目前为止,这很艰难,但我已经能够相对较好地处理事情了。我需要做的是根据他们的密码查询我的数据库表 Accounts 以获取用户拥有的金额。我在我正在使用的 Windows 窗体上放置了一个按钮,该按钮将在单击时查询数据库。当我正常运行/单击按钮时,我收到以下错误。
基本上我的问题是:我将如何设置权限,以便我的程序可以自由访问我拥有的 Access 数据库?
我的异常错误:
异常:System.Data.OleDb.OleDbException:Microsoft Office Access 数据库引擎无法打开或写入文件“C:\Users\Public”。它已被其他用户独占打开,或者您需要权限才能查看和写入其数据。
我的代码:
public partial class frmPin : Form
{
static string connString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\Public;Persist Security Info=True";
static private int pin = 11; //The First Pin in my records, for debugging I inserted it directly.
static string selectStatement = "SELECT Amount FROM Accounts WHERE(PIN=" + pin + ")";
OleDbConnection conn = new OleDbConnection(connString);
OleDbCommand cmd = new OleDbCommand(selectStatement);
public frmPin()
{
InitializeComponent();
}
private void btnQry_Click(object sender, EventArgs e)
{
try
{
conn.Open();
OleDbDataReader reader = cmd.ExecuteReader(); // executes query
while (reader.Read()) // if can read row from database
{
txtBx.Text = reader.GetValue(1).ToString();
}
}
catch (Exception ex)
{
txtBx.Text = "Exception: " + ex; // Displays Exception
}
finally
{
conn.Close(); // finally closes connection
}
}