最近、自分のコードに問題があり、理解できないようです。最初にコードを書いたとき、私は WinXP を実行していたコンピューターを使用していました。しかし今、Win7 を実行しているコンピューターでまったく同じコードを実行しようとしていますが、動作しません。うまくいかないというのは、コードの特定の行がうまくいかないということです。残りのコードが実行されます。
問題のコードは次のとおりです。
dataGridView1.DataSource = bindingSource1;
GetData("SELECT Lastname, Firstname, DOB, SSAN, Minor FROM Children WHERE Children.ParentID = " + id + "");
上記のコードは私の Form1_Load にあり、プログラムが開いたときに dataGridView を実行して入力することになっています。
GetData() メソッドは次のとおりです。
private void GetData(string selectCommand)
{
try
{
string connectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source = U:/Syndicate II/Syndicate II.accdb;Persist Security Info = False"; //"Provider=Microsoft.ACE.OLEDB.12.0;Data Source = C:/Documents and Settings/David/Desktop/SyndicateII/SyndicateII/Syndicate II.accdb;Persist Security Info = False";
OleDbDataAdapter dataAdapter = new OleDbDataAdapter(selectCommand, connectionString);
OleDbCommandBuilder builder = new OleDbCommandBuilder(dataAdapter);
DataTable table = new DataTable();
table.Locale = System.Globalization.CultureInfo.InvariantCulture;
dataAdapter.Fill(table);
bindingSource1.DataSource = table;
dataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill;
}
catch(OleDbException)
{
MessageBox.Show("didn't work");
}
}
これら 2 つのコードのチャンクが問題を引き起こしています。私が言ったように、それは WinXP コンピューターで動作します。しかし、Win7 コンピューターで実行すると、動作しません。メッセージボックスをコードに配置して、実行されるかどうかをテストしてみました。そのため、コードのチャンクが実行されていないようで、その理由はわかりません。さらにややこしいことに、コードは以前は機能していました。私が最初に Win7 コンプを使い始めたとき、コードは機能しました。しばらくすると、時々うまくいくでしょう。そして今、それはうまくいきません。
私の問題を明確に説明できたことを願っています。そして、私が得ることができるどんな助けも大歓迎です。