当我在机器上运行程序时,它运行得很好,但当我从其他机器运行代码时,我会收到一个错误,上面写着"无法绑定到新的显示成员上"?我就是不明白为什么?这是我的密码。
private DataTable effectivity, filesTable, cgmFiles;
private void FillEffectivity()
{
cbEffectivity.ComboBox.DataSource = null;
effectivity = FillDataTable("SELECT * FROM Projects ORDER BY Project ASC");
cbEffectivity.ComboBox.DataSource = effectivity;
cbEffectivity.ComboBox.DisplayMember = "project";
cbEffectivity.ComboBox.ValueMember = "RecNo";
}
private DataTable FillTable(string sql)
{
DataTable table = new DataTable();
try
{
using (OleDbDataAdapter da = new OleDbDataAdapter(sql, cn))
{
da.Fill(table);
}
}
catch (Exception ex)
{
if (ex.Message == "Not a valid password.")
{
SetPassword();
return FillTable(sql);
}
return new DataTable();
}
finally
{
cn.Close();
}
return table;
}
您的查询中似乎有问题,而不是effectivity = FillDataTable("SELECT * FROM Projects ORDER BY Project ASC");
尝试FillDataTable("SELECT * FROM Projects ORDER BY project ASC");
此外,建议不要使用*,因为选择它会影响性能。试试这个
FillDataTable("SELECT project FROM Projects ORDER BY project ASC");