我最近遇到了我的代码问题,我似乎无法弄明白。我第一次编写代码时使用的是运行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时,代码工作正常。过了一会儿,它有时会起作用。现在它只是不起作用。
我希望我已经清楚地描述了我的问题。我能得到的任何帮助都会非常感激。