sql-server - 我创建了一些将 Excel 数据转换为 SQL INSERTS 的 VBA。有没有办法直接更新 SQL Server?
问题描述
目前,我将复制的 SQL 粘贴到 SQL Server Management Studio 中,然后执行。这很好,因为它只需要几秒钟。但是,我想知道是否有办法获取我的 INSERTS 或 UPDATES 并自动将它们应用到 SQL Server。
我尝试过使用 Power Query,但如果我可以添加一两行来自动更新,我真的不想重新发明一些东西。我在网上找不到任何可以与我已经开发的东西联系起来的东西。
下面的代码是我用来将列转换为 SQL INSERT 的代码。我想将代码末尾的剪贴板副本替换为将直接插入到 SQL SERVER 数据库表中的内容。
Set Lad = NewFormat.Range("A2:A" & LastRow)
For Each cell In Lad
cell.Value = "INSERT INTO GeoChem1(OrderID,SampleNumber,Matrix,Method,WellID,Site,DateCollected,DateReceived,CustomerName,Param," & _
"ParamResults,Units,Dilution,Qualifier,RepLimit,AnalysisDate) VALUES(" & cell.Offset(0, 1).Value & "," & "'" & cell.Offset(0, 2).Value & "'" & "," & "'" & _
cell.Offset(0, 3).Value & "'" & "," & "'" & cell.Offset(0, 4).Value & "'" & "," & "'" & cell.Offset(0, 5).Value & "'" & "," & cell.Offset(0, 6).Value & "," & _
"'" & cell.Offset(0, 7).Value & "'" & "," & "'" & cell.Offset(0, 8).Value & "'" & "," & "'" & cell.Offset(0, 9).Value & "'" & "," & "'" & _
cell.Offset(0, 10).Value & "'" & "," & cell.Offset(0, 11).Value & "," & "'" & cell.Offset(0, 12).Value & "'" & "," & cell.Offset(0, 13).Value & _
"," & "'" & cell.Offset(0, 14).Value & "'" & "," & cell.Offset(0, 15).Value & "," & "'" & cell.Offset(0, 16).Value & "'" & ");"
Next cell
''COPY TO CLIPBOard''
Set Lad = NewFormat.Range("A2:A" & LastRow)
Lad.Copy
解决方案
这是我从库中为您提取的通用 ADO 执行模板。我建议研究这个主题。
还值得指出的是,您正在循环浏览工作表。学习转储到数组并以这种方式处理。
这需要正确引用 Microsoft 数据对象库
Private Sub zzz()
Dim vbSql As String, cnnstr as string
Dim cnn As ADODB.Connection
vbSql = "sql statement; "
Set cnn = New Connection
cnnstr = "Provider=SQLOLEDB;Data Source=yourserver;Initial Catalog=yourDB;User ID=UserName;Password=PassWord; Trusted_Connection=No"
cnn.Open cnnstr
cnn.Execute vbSql
cnn.Close
Set cnn = Nothing
End Sub
推荐阅读
- ruby-on-rails - Rails 在更新时忽略参数
- algorithm - 是否有一种算法来检测一条线和 Catmull-Clark 细分曲面之间的交点?
- c# - 当仍然引用它的对象字段时,C# 对象有资格进行垃圾回收吗?
- plot - Pine 脚本:创建自定义烛台
- html - 连接远程 HTML 网站和远程数据库
- javascript - 使用随机生成的名称创建子集合(带 React-Redux 的 Firestore)
- c# - SQL Server 标识不会随输入自动递增
- python - 了解如何在 pygame 中更新屏幕?
- java - LayoutParams 类型在运行时更改。ClassCastException:无法将 ViewGroup$LayoutParams 转换为 ViewGroup$MarginLayoutParams
- javascript - ReactJs设置环境变量的问题