使用WinXP而不是Win7的代码问题。为什么?

时间:2012-04-17 14:33:45

标签: c# windows-7 datagridview windows-xp bindingsource

我最近遇到了我的代码问题,我似乎无法弄明白。我第一次编写代码时使用的是运行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");
        }
    }

这两个代码块给我带来了什么问题。就像我说的,它适用于WinXP计算机。但是当我在Win7计算机上运行它时,它不起作用。我已经尝试通过在代码中放置消息框来测试它,看看它们是否运行而它们没有。所以似乎代码块没有运行,我不知道为什么。为了使事情变得更加混乱,代码过去常常起作用。当我第一次开始使用Win7 comp时,代码工作正常。过了一会儿,它有时会起作用。现在它只是不起作用。

我希望我已经清楚地描述了我的问题。我能得到的任何帮助都会非常感激。

0 个答案:

没有答案