Вставка запроса каждый отдельный запрос приводит к содержанию в поле со списком - PullRequest
0 голосов
/ 31 марта 2012

У меня есть этот запрос, где я ожидаю много результатов.

private void addContentInCmbPhy() {
            DbClassesDataContext myDb = new DbClassesDataContext(dbPath);
            var match = from phy in myDb.Physicians
                                        select phy.Phy_FName;

            for(IQueryable<string> phy in match){
                cmbPhysicians.Items.Add(phy);
            }
        }

В моем запросе, приведенном выше, он вернет несколько результатов, и я хочу, чтобы эти результаты с именами были вставлены как элементы в мой comboBox,как бы я добавил это?это дает мне следующие ошибки

 Error  7   Only assignment, call, increment, decrement, and new object expressions can be used as a statement  C:\Users\John\documents\visual studio 2010\Projects\PatientAdministration\PatientAdministration\Pat_Demog.cs    415 43  PatientAdministration

Error   8   ; expected  C:\Users\John\documents\visual studio 2010\Projects\PatientAdministration\PatientAdministration\Pat_Demog.cs    415 40  PatientAdministration
Error   9   ; expected  C:\Users\John\documents\visual studio 2010\Projects\PatientAdministration\PatientAdministration\Pat_Demog.cs    415 43  PatientAdministration

Ответы [ 3 ]

1 голос
/ 31 марта 2012

Разве вы не используете неправильный оператор зацикливания?Это должно быть foreach, а не для.Если вы используете цикл for, вам нужен инкрементатор.

0 голосов
/ 31 марта 2012
private void addContentInCmbPhy() 
{
    List<string> match;
    using (var  myDb = new DbClassesDataContext(dbPath))
{
   cmbPhysicians.Items.AddRange((from phy in myDb.Physicians
            select phy.Phy_FName).ToArray());
}

//  foreach(var phy in match){
//      cmbPhysicians.Items.Add(phy);
//  }
}
0 голосов
/ 31 марта 2012

Это бог, если у вас есть datacontext внутри оператора using. Потому что тогда у вас есть соединение столько, сколько вам нужно. И вы выбрасываете его сразу после. Я бы, наверное, сделал это примерно так:

private void addContentInCmbPhy() 
{
    List<string> match;
    using (var  myDb = new DbClassesDataContext(dbPath))
    {
        match = (from phy in myDb.Physicians
                select phy.Phy_FName).ToList();
    }


    foreach(var phy in match){
        cmbPhysicians.Items.Add(phy);
    }
}
...