У меня есть две таблицы в моей базе данных, и они являются компанией и делегатом, а в моей форме счета у меня есть две комбинации, одна для отображения компаний, а другая для отображения делегаты ...Как скомбинировать combobox с помощью другого combobox в C# в зависимости от выбора элемента
Теперь, когда я выбираю компанию в первом поле со списком, вторая группа делегатов должна отображать делегатов, связанных с выбранной компанией. Таблица Company
имеет первичный ключ compId
и Delegate
таблицы имеет внешний ключ compId
...
Я попытался написать код, как эти, но это не дает мне требуемый результат он просто показать все делегат ... любое Помогите!
public PBillFrm()
{
InitializeComponent();
da = new SqlDataAdapter("select compId, compName from company", cn);
da.Fill(dt);
PBillCompNamecmbo.DataSource = dt;
PBillCompNamecmbo.DisplayMember = "compName";
PBillCompNamecmbo.ValueMember = "compId";
da2 = new SqlDataAdapter("select delId,delName from delegate where compId=" + PBillCompNamecmbo.ValueMember + "", cn);
da2.Fill(dt2);
pBillDelNamecmbo.DataSource = dt2;
pBillDelNamecmbo.DisplayMember = "delName";
pBillDelNamecmbo.ValueMember = "delId";
}
Начало здесь: 'где compId = "+ PBillCompNamecmbo.ValueMember' фактически расширяется до' where compId = compId', который всегда является 'true' и не применяет никакой фильтрации. Вы должны привязать параметр con вместо этого нужно указать требуемое значение 'compId'. –
[SQL Injection alert] (http://msdn.microsoft.com/en-us/library/ms161953%28v=sql.105%29.aspx) - вы должны ** не ** объединять свои SQL-запросы - использовать ** параметризованные запросы ** вместо того, чтобы избежать SQL-инъекции –