2

最近、自分のコードに問題があり、理解できないようです。最初にコードを書いたとき、私は 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 コンプを使い始めたとき、コードは機能しました。しばらくすると、時々うまくいくでしょう。そして今、それはうまくいきません。

私の問題を明確に説明できたことを願っています。そして、私が得ることができるどんな助けも大歓迎です。

4

0 に答える 0