2012-03-23 5 views
0

나는 많은 코드 조각을 조사 해왔다. 나는 그곳에서 무슨 일이 일어나고 있는지 이해하지 못하고있다. 연결, 읽기/조작 및 종료 프로세스를 이해하는 데있어 도움이 될 것입니다.VB.NET 로컬 데이터베이스 연결/데이터 추출

나는이 DataAdapters, Ole, Sql 및 Sqlce에 대해 계속 읽고 있으며 어떤 것을 사용해야할지 모르겠다.

VB.NET 2010에서 database.sdf라는 데이터베이스를 만들었으며 로컬 데이터베이스 옵션을 선택했습니다 (관련 있다고 생각하십니까?). 그런 다음 데이터베이스에 열 제목과 기본 키가있는 데이터 행을 채 웠습니다. 표는 여러 가지 열이 포함되어 있지만, 테스트 목적을 위해, 다음과 같은 의미가 있습니다 :

  • DB 이름 : 위치
  • 기본 키 열 머리글 : CITY
  • 또 다른 칼럼 : BOUND_X
  • 테이블 이름 db_test
  • 정보 두 세포 : CITY - '브런 즈윅'와 BOUND_X - '5'
  • '가 한 행의 데이터만을, 그래서이 어느 행 (0) 또는 행 (1), I는 돈 때문이다 .NET이 .NET 용으로 무엇을 사용하는지 알고 있습니다. 색인을 시작하십시오.

이 내가 짜 넣을 것입니다,하지만 난 그것도 올바른 방향으로 만 아니라 꽤 확신 ...

분명히

코드 도움이 경이로운 것, 그러나 사람이이 과정을 중단하고자하는 경우 영어로 또한 아래로, 그것은 훌륭한 훌륭한 것 일 것이다.

Dim conn As SqlConnection = New SqlConnection("Data Source=G:\Programming\VB.NET\TEST\TEST\db_test.sdf") 

Dim ds As New db_test 
Dim sql As New SqlCommand("SELECT * FROM Locations WHERE CITY='Brunswick'") 

conn.Open() 

(I have no idea what this is actually referring to, I am just trying to read data with these commands below that seemed to pop up a lot in forums...) 
Dim sdr As SqlDataReader = sql.ExecuteReader 
While sdr.Read = True 
    MsgBox(sdr.Item("CITY") & " " & sdr.Item("BOUND_X")) 
End While 

sdr.Close() 

conn.Close() 

답변

1

.NET의 데이터 액세스 코드는 ADO.NET으로 그룹화됩니다. 당신은 여기 참조를 위해 읽을 수 있습니다

http://msdn.microsoft.com/en-us/library/h43ks021(v=vs.100).aspx

코드에 대해서 :

  1. SqlConnection이 초기화됩니다. 연결은 데이터 소스에서 데이터에 액세스하는 수단입니다. 소스가 단일 파일 데이터베이스 (SQL CE 일 수도 있음)이므로 파일 경로로 초기화됩니다. SqlConnection은 다른 모든 클래스에서 데이터 소스에 액세스하는 데 사용됩니다.
  2. 명령이 필요한 데이터를 가져 오기 위해 초기화되었습니다. 저장 프로 시저 또는 SQL 쿼리를 호출 할 수 있습니다. 그것은 데이터를 얻는 방법, 즉 얻을 데이터와 방법을 보여줍니다.
  3. 데이터 소스에 대한 연결이 열립니다. 데이터를 전송할 채널이 열리고 필요한 조작 (포트 열기, 핸드 셰이크, 파일 열기 등)
  4. SqlDataReader는 명령과 연결을 기반으로 데이터를 읽는 메커니즘 중 하나입니다. 명령은 연결을 필요로하며 (sql.Connection = conn을 설정해야 함) 세 가지 방법으로 실행될 수 있습니다. ExecuteReader() - dataReader를 반환하고 행을 집합으로 가져옵니다. ExecuteScalar() - 단일 행 단일 결과 (예 : '5')를 반환하는 count/avg/...와 같은 통계적 SQL 쿼리를 실행합니다. int를 반환합니다. ExecuteNonQuery() - 결과를 반환하지 않는 쿼리 (예 : 테이블 만들기 또는 삭제)를 실행합니다.
  5. 따라서 dataReader는 파일의 경우 StreamReader와 유사하며 읽기 전용 행 대신 가져 오는 행 - 가져온 행을 반환합니다. 전체 집합의 현재 행을 가리 킵니다. 기본 동작 과정은 Read()를 사용하여 dataReader를 반복하고 모든 dataRow를 List <> 또는 그 밖의 항목에 저장하는 것입니다.
  6. 연결을 사용하여 사용 된 리소스를 확보하십시오. 같을 것이다

더 기술적으로 올바른 코드는 여기에서 찾을 수 있습니다 :

http://msdn.microsoft.com/en-us/library/dw70f090.aspx#Y533