DataSource错误:“无法绑定到属性或列”

当我点击显示按钮时,我正在使用C#编写数据库时出现错误:

错误:
无法绑定到DataSource上的属性或列LastName。 参数名称:dataMember

码:

private void Display_Click(object sender, EventArgs e) { Program.da2.SelectCommand = new SqlCommand("Select * From Customer", Program.cs); Program.ds2.Clear(); Program.da2.Fill(Program.ds2); customerDG.DataSource = Program.ds2.Tables[0]; Program.tblNamesBS2.DataSource = Program.ds.Tables[0]; customerfirstname.DataBindings.Add(new Binding("Text", Program.tblNamesBS2, "FirstName")); customerlastname.DataBindings.Add(new Binding("Text", Program.tblNamesBS2, "LastName")); //Line Error occurs on. } 

不确定任何人都可以提供帮助,如果我注释掉最后两行它会正常显示。

这意味着您的数据表未找到数据库中的列名LastName。

在您的情况下,您使用ds2填充数据集..

  Program.da2.Fill(Program.ds2); 

然后你将你的数据源绑定到’program’这样的..

 Program.tblNamesBS2.DataSource = Program.ds.Tables[0]; 

它应该像这样..

 Program.tblNamesBS2.DataSource = Program.ds2.Tables[0]; 

因为在线下你看起来是Program.tblNamesBS2的值,它被绑定到’ds’,这就是为什么列不在’ds’中。

  customerfirstname.DataBindings.Add(new Binding("Text", Program.tblNamesBS2, "FirstName")); customerlastname.DataBindings.Add(new Binding("Text", Program.tblNamesBS2, "LastName")); 

如果绑定到NULL对象,也会遇到此错误。

我遇到了同样的问题,因为我的两个表中的列都有相同的列名。 例如:

  1. 我的数据库名称是Assets ;
  2. 第一个表名是Property ,第二个表名是Plants ;
  3. 两个表中的第一列名称是asset_number ; 它给出了你上面描述的错误,但是我说的是asset_number

解决方案:我将表Plants的列名更改为asset_number1然后没有问题。 (我必须删除Plants所有旧列以重做新列。)

我遇到了同样的问题,我必须更改表中的名称,但我没有更改数据绑定文件中的列名。 解决方案是通过替换更改的名称来更改名称。