私はAccess 2007とC#を使用してデータベースを学習しています。これまでは荒いですが、私は物事を比較的うまく処理することができました。私がしなければならないのは、自分のデータベーステーブルを照会することです。ユーザーがピンに基づいて金額を計算します。私はクリックするとデータベースを照会するために使用しているWindowsフォームにボタンを配置しました。私は通常/私は次のエラーを受け取るようにボタンを実行/クリックすると。C#アクセスデータベースの使用中または許可の失敗
Essentially my question is this: How would I go about setting the permissions up so that my program can freely access the Access Database I have?
私の例外エラー:
Exception: System.Data.OleDb.OleDbException: The Microsoft Office Access database engine cannot open or write to the file 'C:\Users\Public'. It is already opened exclusively by another user, or you need permission to view and write its data.
マイコード:
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
}
}
ああ、ファイル自体を含める必要があります。助けてくれてありがとうございました。 – Xesaniel
* .accdbファイルの場合、ユーザレベルのセキュリティがエンジンから削除されているため、グループ/ユーザに対する権限を拒否できません。 – onedaywhen
Jet ULSは決して拒否権を持っていないので、aaronisがNTFSセキュリティを指していたことは明らかです。 –