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
}
}