메뉴 바로가기 검색 및 카테고리 바로가기

한빛미디어

뇌를 자극하는 SQL Server

뇌를 자극하는 SQL Server 질의응답 게시판입니다.

ch16 SQL Server와 응용 프로그램의 연결 챕터 관해 질문

2015-09-28

|

by qkrdnwn

2548

64bit computer / Visual Studio 2013 Community / SQL Server 2012 Express /Excel 2010 및 2007 동시 사용중입니다.

아래는 뇌 sql server 2012  636page에 있는 VS VB 와 SQL 연동 코드입니다.

아래 코드를 ExcelVBA 모듈에서 VBA 코드로 사용하고 싶은데  Imports System.Data부터 코드가 동작을 안하네요
차라리 C#으로는 쉽게 바꿀수 있겠는데, Excel에서는 라이브러리 참조 추가도 해야되고, System.Data.SqlClient가
사용 가능한지도 잘 모르겠구요.

인터넷 검색해보니 엑셀에서는 거의다 ADO.NET을 사용해서 OLEDB 로 연결하는 것 같던데요.

질문은
Q1) 아래와 같은 SqlClient를 사용해서 엑셀VBA에서 SQL DB를 조작하는 코드
Q2) 아래와 같은 방식이 불가능하다면 왜 불가능한지와  ADO등을 사용한 차선책 및 코드
   그리고 어떤 참조 버전을 추가해야하는지(2.5 2.8 6.1 등등)
입니다.
SQL 과 응용프로그램 연동이 저에게는 어렵네요;;  방식도 너무 여러가지라서 더 헷갈리구요
도움 부탁드립니다.


Imports System.Data
Imports System.Data.SqlClient


Public Class Form1
    Public curNum As Integer
    Public dv As DataView
    Public dr As DataRow


    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        \VB-SQL with sqlDB from Brain book
        Dim Conn As String = "Server=localhost;DataBase=sqlDB;user=vsUser;password=1"
        \Dim Conn As String = "Server=localhost;DataBase=sqlDB;user=PWJ-HP"  user/PW both needed
        Dim sqlCon As New SqlConnection(Conn)
        Dim user_Data = New DataSet()
        sqlCon.Open()

        Dim strSQL As New SqlCommand("SELECT userID,name,mdate from usertbl", sqlCon)
        Dim da As SqlDataAdapter = New SqlDataAdapter()
        da.SelectCommand = strSQL
        da.Fill(user_Data, "usertbl")

        dv = New DataView(user_Data.Tables("usertbl"))

        curNum = 0

         b_ID.text = dr.Item("userID")
         b_CallPut.text = dr.Item("name")
         b_Price.text = dr.Item("mdate")

        da.Dispose()
        sqlCon.Close()
댓글 입력