2015-01-19 3 views
0

LINQ to SQL을 사용하여 DB를 검색하고 표시하려고합니다. 아래 코드를 시도했지만 콘솔의 기준과 일치하는 레코드를 표시하지 않았습니다.LINQ to SQL을 사용하여 SQL 데이터베이스 검색

여기 세부 사항은 테이블 이름입니다

Detail detail = new Detail(); 

    Console.Write("\nEnter ID to Search Record :"); 
    int id = Convert.ToInt32(Console.ReadLine()); 
    var searchbyId = from search in db.Details 
         where search.Id == id 
         select search; 
    db.SubmitChanges(); 
    Console.WriteLine("\n Search Results \n"); 
    Console.WriteLine(String.Format("Id \t | Name \t | Last Name \n")); 

    Console.WriteLine(String.Format("{0} \t | {1} \t | {2} ", 
           detail.Id,detail.Name, detail.LastName)); 

신참 LINQ

+0

는'무슨 detail'이야? –

+2

왜 SubmitChanges입니까? db로는 아무것도 업데이트하지 않습니다. –

+1

무엇이'db.SubmitChanges();'입니까? –

답변

2

가있을 수 있습니다 복수의 결과를 갖는 동일 ID이므로 foreach

을 사용하십시오.
Console.Write("\nEnter ID to Search Record :"); 
int id = Convert.ToInt32(Console.ReadLine()); 
var searchbyId = from search in db.Details 
        where search.Id == id 
        select search; 

Console.WriteLine("\n Search Results \n"); 
Console.WriteLine(String.Format("Id \t | Name \t | Last Name \n")); 

foreach(var item in searchbyId) 
Console.WriteLine(String.Format("{0} \t | {1} \t | {2} ", 
          item.Id,detail.Name, item.LastName)); 

101 LINQ Samples

+0

고마워요. 그것은 완벽하게 작동했습니다. 곧 대답으로 받아 들일 것입니다 – Richa

+0

@ 리차드는 MSDN에서 가장 좋은 101 개의 LINQ 샘플을 시도합니다. –

0

을 배우려고 그 같은 시도 할 것이다 :

Console.Write("\nEnter First Name :"); 
string id = Convert.ToInt32(Console.ReadLine()); 
var searchbyId = from search in db.Details 
       where search.Id == id 
       select search; 
Console.WriteLine("\n Search Results \n"); 
Console.WriteLine(String.Format("Id \t | Name \t | Last Name \n")); 

foreach(var item in searchbyId) 
Console.WriteLine(String.Format("{0} \t | {1} \t | {2} ", 
         searchbyId.Id,detail.Name, searchbyId.LastName)); 
관련 문제