2015-07-23 3 views
0

Я стараюсь следовать этому video, который написан на C# и преобразовывает его в vb (чтобы заполнить выпадающий список из SQL Server с помощью функции) вот рабочий код C#:Заполнение окна выпадающего списка из SQL Server с помощью функции

private list<product> getallprodcuts() 
{ 
    Try 
    { 
      using(PropSolWebDBEntities db= new PropSolWebDBEntities()) 
      list<product> products = (from x in db.product select x).tolist; 
    } 
    catch(exception) 
    { 
      Return Null; 
    } 
} 

И В.Б, что я не могу заставить работать:

Private Function getallproducts() As List(Of<product>) 

     Try 
      Dim db As New PropSolWebDBEntities 
      Dim products As list <product> = (from x in db.product select x).tolist 

      Return products 

     Catch ex As Exception 
      Return vbNull 
     End Try 
    End Function 

что я делаю неправильно?

+0

Вы должны документировать свой вопрос немного лучше. Это ошибка? Что происходит при выполнении кода? Есть ли что-нибудь в списке? Например, ваш пример C# не возвращает результаты. Подробности имеют значение. Для VB.Net вы, вероятно, должны вернуть Nothing вместо vbNull. – LarsTech

+0

Код, который вы используете, проглатывает исключение (если оно выбрано), что является плохой практикой. – Tim

+0

Извините, я расскажу об этом в следующий раз. Thx для всех ваших входных данных – Rhdr

ответ

0

Список следует переводить как Список (товара).

return null должно быть переведено как Return Nothing.

Использовать вместо объявления переменной db.

Я не компилировать код, но это так:

Private Function getallproducts() As List(Of product) 

Try 
    Using db As New PropSolWebDBEntities 
     Dim products As list(Of product) = (From x In db.product Select x).ToList() 
     Return products 
    End Using 

Catch ex As Exception 
    Return Nothing 
End Try 

End Function

+0

thx синтаксис отлично работает! – Rhdr

0

Вам не нужна часть LINQ, так как вы не фильтруете/группируете/заказываете. Блок Using заботится о вашем использовании контекста для вас. Вы просто пропустили разницу в синтаксисе.

Private Function getallproducts() As List(Of product) 
    Dim results As List(Of product) = Nothing 
    Using db As New PropSolWebDBEntities 
    results = db.product.ToList 
    End Using 
    Return results 
End Function 
Смежные вопросы