Ошибка источника данных: "невозможно выполнить привязку к свойству или столбцу"

Я работаю над базой данных в C#, когда я нажимаю на дисплее кнопку, я получаю сообщение об ошибке:

ошибка:
Не удается выполнить привязку к свойству или столбцу 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.
}

Не уверен, что это означает, может ли кто-нибудь помочь, если я прокомментирую последние две строки, которые он отобразит правильно.

4 ответов


это означает, что ваш datatable не находит имя столбца фамилия, которая находится в вашей базе данных..

в вашем случае вы заполняете свой набор данных ds2..

 Program.da2.Fill(Program.ds2); 

и затем вы привязываете свой источник данных к "программе", как это..

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

это должно понравиться..

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

потому что ниже строки вы ищете значение из программы.tblNamesBS2, который привязан к 'ds' и именно поэтому столбец не является ther в "ds".

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

вы также столкнетесь с этой ошибкой при привязке к нулевому объекту.


у меня была такая же проблема, и это было потому, что столбцы в обеих моих таблицах имели одинаковые имена столбцов. Например:

  1. мое имя базы данных Assets;
  2. имя таблицы Property и второе имя таблицы было Plants;
  3. первые имена столбцов в обеих таблицах были asset_number; Это дало ошибку, которую вы описали выше, но моя сказала asset_number.

решение: я изменил имена столбцов в моей таблице Plants в asset_number1 и тогда у него не было проблем. (Мне пришлось удалить все мои старые колонки в Plants чтобы повторить новые столбцы.)


Я столкнуться с той же проблемой, где мне нужно изменить имя в таблице, но Я не менял имена столбцов в файле привязки данных. решением было изменение имен путем замены измененного имени.