2013-02-16 1 views
0

내가 MS 액세스의 데이터를 DataGridView를 채 웁니다이 코드가 있습니다VB.Net 2010에서 MS Access 2010 (.accdb) 쿼리를 호출하는 방법은 무엇입니까?

Dim con As New OleDbConnection 
Dim ds As New DataSet 
Dim da As OleDb.OleDbDataAdapter 
Dim Sql As String 

Sql = "SELECT * FROM myTable WHERE case_no=?" 
Try 
    con.ConnectionString = "PROVIDER=Microsoft.ACE.OLEDB.12.0;Data Source=Sample.accdb;Persist Security Info=True;Jet OLEDB:Database Password=dbadmin2010" 
    con.Open() 
    Dim cmd As OleDbCommand = New OleDbCommand(Sql, con) 
    da.SelectCommand = cmd 
    cmd.Parameters.AddWithValue("case_no", case_no) 

    Dim ds As DataSet = New DataSet 
    da.Fill(ds, "Case Info") 
    DataGridView1.DataSource = ds.Tables("Case Info") 

Catch ex As Exception 
    MsgBox(ex.Message) 
End Try 

지금 난 그냥 MS 액세스 자체 내에서 디자인보기에서 쿼리를 작성을 완료했다, 즉 쿼리를 호출하고 검색하는 방법은 무엇입니까 내 datagridview 결과?

+0

예를. 너 해봤 니? 오류가 무엇입니까? – spajce

+0

@spajce, 아니요 MS-Access 내에서 쿼리를 호출하는 명령을 모르기 때문에 시도하지 않았습니다. 내 질문에 게시 된 코드는 지금 볼 수 있듯이 vb.net을 통해 쿼리가 하드 코딩 된 것입니다. 내가하고 싶은 것은 MS-Access 내에서 디자인보기를 사용하여 만든 쿼리를 호출하고 싶습니다. –

답변

1

그냥 당신이 이미 가지고있는 이외에, 예를 들어, 쿼리 이름을 사용하고 명령 유형을 설정, 다음과 같은 메모를 사용할 수 있습니다

Try 
    con.ConnectionString = enter_connection_string_here 
    con.Open() 
    cmd.Connection = con 
    cmd.CommandType = CommandType.StoredProcedure 
    cmd.CommandText = "NameOfQuery" 
    da.SelectCommand = cmd 
    cmd.Parameters.AddWithValue("case_no", case_no) 

    da.Fill(ds, "Case Info") 
+0

저장된 쿼리에 기준을 전달할 수 있도록 위의 내용을 어떻게 수정할 수 있습니까? –

관련 문제