2014-03-25 5 views
0

phpmyadmin에 mysql 데이터베이스가 있습니다. 데이터베이스의 테이블 중 하나에 기본 키 필드가 있으며 특정 기본 키를 사용하여 데이터베이스에서 레코드를 선택하려고합니다. 분명히 이것은 단지 1 행을 반환하지만 나는 쿼리를 실행 한 다음 결과를 단일 데이터row 객체에 넣을 수있는 방법을 잃어 버렸습니다. 모든 da.fill 과부하가 datset 필요하며이 가능하지만, 그 데이터 세트를 정의하고, 항상로 참조 비효율적 느낀다 : I가 이용 될 수있을 때데이터 어댑터 (또는 기타)로 단일 행을 채우는 방법

dataset.tables("table").rows(0).item..... 

:

row.item..... 

TL; DR을 , 어떻게 vb.net에서 dataadapter 데이터를 채울 수 있습니까?

답변

0

데이터를 DataGridView 컨트롤로 가져 오는 것이 좋습니다. 이렇게하려면 아래 입력 한 코드를 프로젝트 중 하나에서 사용할 수 있습니다.

Imports System.Data.SqlClient 


Public Class Form1 

Dim dbConnection As SqlConnection 
Dim dbCommand As SqlCommand 
Dim dbAdapter As SqlDataAdapter 
Dim DataSet As New DataSet 
Dim strSQL As String 
Dim dbCount As String 

Public Sub SQLConnect() 
    dbConnection = New SqlConnection("Data Source=connectionhere\sqlexpress;Initial Catalog=line_log;Integrated Security=True") 
    dbConnection.Open() 
End Sub 

Public Sub SQLCommand() 
    dbCommand = New SqlCommand(strSQL, dbConnection) 
End Sub 

Public Sub SQLAdapter() 
    dbAdapter = New SqlDataAdapter(strSQL, dbConnection) 
End Sub 

Public Sub SQLDisconnect() 
    dbConnection.Close() 
End Sub 

Public Sub DGVLoad() 
    Try 
     SQLConnect() 
     strSQL = "SELECT [item] FROM [table] WHERE ([item] = 'value')" 
     SQLAdapter() 
     DataSet.Clear() 
     dbAdapter.Fill(DataSet) 
     SQLDisconnect() 
     DataGridView1.DataSource = DataSet.Tables(0) 

    Catch ex As Exception 
     MsgBox(ex.ToString) 
    End Try 
End Sub 

Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load 
    DGVLoad() 
End Sub 
+0

이 코드가 작동하는 동안 잘못된 프로그래밍 패턴을 지원하고 밀접하게 결합 할 수없는 유지 보수가 가능한 코드를 승격시켜 나로부터 upvote가 없습니다. – Neolisk