' Create the Connection and Recordset objects.
Set conn = New ADODB.Connection
Set rs = New ADODB.Recordset
Dim val As String
val = Range("B5").Value
' Open the connection and execute.
conn.Open sConnString
Dim item As String
item = "INSERT INTO [IndustrialComp].[dbo].[Header]("
item = item & " [server_name] "
item = item & " )Values("
item = item & " '" & val & "')"
conn.Execute item
上面的代码将B5中的任何值插入sql server 08数据库(industcomp)一个名为header的表和一个名为server_name的列。
我基本上希望在此数据库中插入多个值。这三个列是server_name,phys和virt。
例如b5插入server_name .... c5插入phys ... d5插入virt。
我是否需要声明多个字符串,或者是否有办法基本列出相应列的值?
由于
答案 0 :(得分:0)
你可以这样做
'Create the Connection and Recordset objects.
Set conn = New ADODB.Connection
Set rs = New ADODB.Recordset
Dim val As String, val2 as string, val3 as string
val = Range("B5").Value
val2 = Range("C5").Value
val3 = Range("D5").Value
' Open the connection and execute.
conn.Open sConnString
Dim item As String
item = "INSERT INTO [IndustrialComp].[dbo].[Header]("
item = item & " [server_name], [phys], [virt] "
item = item & " )Values("
item = item & " '" & val & "', '" & val2 & "', '" & val3 & "')"
conn.Execute item
如果您控制输入,这很好。如果您要交给第三方,请小心SQL注入。
例如,用户可以将以下内容放入B5单元格
”, '', ''); DROP TABLE HEADER; -
如果连接有权,你就会遇到麻烦。
在这种情况下始终清理用户输入并尽可能使用参数化的SQL。
希望这有帮助。