最近我的代码一直有问题,我似乎无法弄清楚。我第一次编写代码时使用的是运行 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 时,代码可以工作。一段时间后它有时会起作用。而现在它只是行不通。
我希望我已经清楚地描述了我的问题。我能得到的任何帮助都将不胜感激。