2017-10-19 61 views
0

任何人都可以告訴我如何使用輸入框使用此方法的多個字段?使用Excel VBA UserForm將多個字段插入SQL Server 2014?

我希望能夠使用單個用戶窗體插入人名,高度,性別和薪水?到目前爲止,我只知道如何在下面的代碼中一次插入一個字段。

Dim SQL as ADODB.Command 
Set SQL = NEW ADODB.Command 
SQL.CommandText = "INSERT INTO [myStuff].[dbo].[myThings](Salary) VALUES (?)" 
SQL.Parameters.Append SQL.CreateParameter("Name",adNumeric,adParamInput,"Length of input here", MyInputBox.Value) ' Perhaps you have to validate MyInputBox.Value 
SQL.ActiveConnection = CN 
SQL.Execute 
+0

在simpliest形式:'Cn.Execute 「INSERT INTO [的MyStuff] [DBO] [myThings](工資)VALUES。(」 &MyInputBox.Value& 「)」 –

+2

@VictorK [強制性]( https://xkcd.com/327/) –

+1

@VictorK:請**不要**教新程序員在SQL中使用字符串連接這種做法會導致SQL注入漏洞。如果你不能寫出適當的評論或回答,最好不要寫任何東西,而不是提供不良信息。 –

回答

3

這裏就不得罪人與SQL字符串連接:這裏是參數化版本(見下文)。請注意,您必須打開適合寫入並可能驗證您的InputBox.Value輸入的連接。

Dim SQL as ADODB.Command 
Set SQL = NEW ADODB.Command 
    SQL.CommandText = "INSERT INTO [myStuff].[dbo].[myThings](Salary) VALUES (?)" 
    SQL.Parameters.Append SQL.CreateParameter("Name",adNumeric,adParamInput,"Length of input here", MyInputBox.Value) ' Perhaps you have to validate MyInputBox.Value 
    SQL.ActiveConnection = CN 
    SQL.Execute 
+0

感謝1)發佈答案以兌換該評論,並且2)編輯該答案以包括一些描述。 (upvoted) –

相關問題