Sqlserver
 sql >> डेटाबेस >  >> RDS >> Sqlserver

VBA का उपयोग करके Excel को SQL में निर्यात करें

यहाँ पैरामीटर दृष्टिकोण है:

Dim conn As ADODB.Connection
Dim cmd As ADODB.Command

Dim strSQL As String

strSQL = "INSERT INTO dbo.TimeLog " & _
    "(RecordedPeriod, EventDate, ID, DeptCode, Opcode, StartTime, FinishTime, Units) " & _
"VALUES (?,?,?,?,?,?,?,?);"

Set conn = New ADODB.Connection
conn.Open ""Provider=SQLOLEDB;Data Source=db1\db1;Initial Catalog=ProdTrack;Integrated Security=SSPI;"
'Skip the header row
iRowNo = 2"

Set cmd = New ADODB.Command

cmd.ActiveConnection = conn
cmd.CommandType = adCmdText
cmd.CommandText = strSQL

iRowNo = 2

With Sheets("Sheet1")
  'Loop until empty cell in FirstName
  Do Until .Cells(iRowNo, 1) = ""

  cmd.Parameters.Append _
    cmd.CreateParameter("pRecordedPeriod", adDBTimeStamp, adParamInput, 8, .Cells(iRowNo, 1))
  cmd.Parameters.Append _
    cmd.CreateParameter("pEventDate", adVarChar, adParamInput, 8, .Cells(iRowNo, 2))
  cmd.Parameters.Append _
    cmd.CreateParameter("pID", adInteger, adParamInput, , .Cells(iRowNo, 3))
  cmd.Parameters.Append _
    cmd.CreateParameter("pDeptCode", adVarChar, adParamInput, 2, .Cells(iRowNo, 4))
  cmd.Parameters.Append _
    cmd.CreateParameter("pOpCode", adVarChar, adParamInput, 2, .Cells(iRowNo, 5))
  cmd.Parameters.Append _
    cmd.CreateParameter("pStartTime", adDBTime, adParamInput, 0, .Cells(iRowNo, 6))
  cmd.Parameters.Append _
    cmd.CreateParameter("pFinishTime", adDBTime, adParamInput, 0, .Cells(iRowNo, 7))
  cmd.Parameters.Append _
    cmd.CreateParameter("pUnits", adInteger, adParamInput, , .Cells(iRowNo, 8))

  cmd.Execute

  iRowNo = iRowNo + 1
  Loop
End With

conn.Close
Set conn = Nothing

DataTypeEnum

लेकिन डीएओ पैरामीटर-क्वेरी की तुलना में यह कोड के लिए अच्छा नहीं है। कोई नामित पैरामीटर नहीं, कॉन्फ़िगर करने के लिए पांच पैरामीटर। यह Stored Procedures . के लिए है ? CRUD के लिए यह कोई मज़ा नहीं है।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. पहले से मौजूद तालिका के लिए कॉलम पर अद्वितीय बाधा कैसे बनाएं - SQL सर्वर / TSQL ट्यूटोरियल भाग 97

  2. संग्रहीत प्रक्रिया में पैरामीटर के रूप में एक्सएमएल (एसक्यूएल सर्वर)

  3. SQL सर्वर 2008 और 2008 R2 के लिए समर्थन की समाप्ति

  4. CAST () का उपयोग करके SQL सर्वर में एक स्ट्रिंग को दिनांक/समय में कैसे परिवर्तित करें

  5. चुनिंदा क्वेरी में OFFSET-FETCH विकल्पों द्वारा फ़िल्टरिंग - SQL सर्वर / TSQL ट्यूटोरियल भाग 118