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

Kay*_*Kay 8 c# dataset

当我点击显示按钮时,我正在使用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.
}
Run Code Online (Sandbox Code Playgroud)

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

Bri*_*ing 10

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


use*_*001 7

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

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

 Program.da2.Fill(Program.ds2); 
Run Code Online (Sandbox Code Playgroud)

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

Program.tblNamesBS2.DataSource = Program.ds.Tables[0];  
Run Code Online (Sandbox Code Playgroud)

它应该喜欢这个..

Program.tblNamesBS2.DataSource = Program.ds2.Tables[0];  
Run Code Online (Sandbox Code Playgroud)

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

 customerfirstname.DataBindings.Add(new Binding("Text", Program.tblNamesBS2, "FirstName"));    
  customerlastname.DataBindings.Add(new Binding("Text", Program.tblNamesBS2, "LastName"));
Run Code Online (Sandbox Code Playgroud)


Mik*_*eel 5

导致此错误的另一个原因是您绑定的属性是否是私有的。