excel-vba
एक्सेल VBA में SQL - बेस्ट प्रैक्टिस
खोज…
VBA में ADODB.Connection का उपयोग कैसे करें?
आवश्यकताएँ:
परियोजना के लिए निम्नलिखित संदर्भ जोड़ें:
Microsoft ActiveX डेटा ऑब्जेक्ट 2.8 लाइब्रेरी
Microsoft ActiveX डेटा ऑब्जेक्ट्स रिकॉर्डसेट 2.8 लाइब्रेरी
चरों को घोषित करना
Private mDataBase As New ADODB.Connection
Private mRS As New ADODB.Recordset
Private mCmd As New ADODB.Command
कनेक्शन बनाएं
ए। Windows प्रमाणीकरण के साथ
Private Sub OpenConnection(pServer As String, pCatalog As String)
Call mDataBase.Open("Provider=SQLOLEDB;Initial Catalog=" & pCatalog & ";Data Source=" & pServer & ";Integrated Security=SSPI")
mCmd.ActiveConnection = mDataBase
End Sub
ख। SQL सर्वर प्रमाणीकरण के साथ
Private Sub OpenConnection2(pServer As String, pCatalog As String, pUser As String, pPsw As String)
Call mDataBase.Open("Provider=SQLOLEDB;Initial Catalog=" & pCatalog & ";Data Source=" & pServer & ";Integrated Security=SSPI;User ID=" & pUser & ";Password=" & pPsw)
mCmd.ActiveConnection = mDataBase
End Sub
एसक्यूएल कमांड निष्पादित करें
Private Sub ExecuteCmd(sql As String)
mCmd.CommandText = sql
Set mRS = mCmd.Execute
End Sub
रिकॉर्ड सेट से डेटा पढ़ें
Private Sub ReadRS()
Do While Not (mRS.EOF)
Debug.Print "ShipperID: " & mRS.Fields("ShipperID").Value & " CompanyName: " & mRS.Fields("CompanyName").Value & " Phone: " & mRS.Fields("Phone").Value
Call mRS.MoveNext
Loop
End Sub
निकट संबंध
Private Sub CloseConnection()
Call mDataBase.Close
Set mRS = Nothing
Set mCmd = Nothing
Set mDataBase = Nothing
End Sub
इसका इस्तेमाल कैसे करें?
Public Sub Program()
Call OpenConnection("ServerName", "NORTHWND")
Call ExecuteCmd("INSERT INTO [NORTHWND].[dbo].[Shippers]([CompanyName],[Phone]) Values ('speedy shipping','(503) 555-1234')")
Call ExecuteCmd("SELECT * FROM [NORTHWND].[dbo].[Shippers]")
Call ReadRS
Call CloseConnection
End Sub
परिणाम
शिपर: 1 कंपनी का नाम: शीघ्र एक्सप्रेस फोन: (503) 555-9831
शिपर: 2 कंपनी का नाम: यूनाइटेड पैकेज फोन: (503) 555-3199
ShipperID: 3 CompanyName: फ़ेडरल शिपिंग फ़ोन: (503) 555-9931
शिपर: 4 कंपनी का नाम: शीघ्र शिपिंग फोन: (503) 555-1234
Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow