sql表名中的空格

时间:2019-02-12 21:10:29

标签: excel vba

下面的宏将数据导出到SQL表,当表名没有空格时,它可以正常工作,但是如果名称有空格,它将阻止,

它在rs.Open行tableName,Cn,adOpenKeyset,adLockOptimistic上阻塞

我尝试将撇号'...'和...钩住,但无济于事    `

Sub Injection()


Dim Cn As ADODB.connection    
Dim ServerName As String    
Dim DatabaseName As String    
Dim tableName As String    
Dim UserID As String    
Dim Password As String    
Dim rs As ADODB.recordset    

ServerName = "vmalsdisdb"
DatabaseName = "Produits"
tableName = "PRELEVEMENT PRODUIT"
UserID = ""
Password = ""


Set rs = New ADODB.recordset


Set Cn = New ADODB.connection
Cn.Open "Driver={SQL Server};Server=" & ServerName & ";Database=" & DatabaseName & _
";Uid=" & UserID & ";Pwd=" & Password & ";"


rs.Open tableName, Cn, adOpenKeyset, adLockOptimistic`

2 个答案:

答案 0 :(得分:0)

这很奇怪!在我的测试场景中,对我来说效果很好!

<script>
    $(document).ready(function () {
        function removeItem(id) {
            var index = -1;
            var obj1 = JSON.parse(sessionStorage.getItem("cart")) || {};
            var items = obj1.cart || [];
            for (var i = 0; i < items.length; i++) {
                if (items[i].id === id) {
                    alert(id);
                    items.splice(i, 1);
                    break; 
                }
            }
            sessionStorage.setItem("cart", JSON.stringify(obj1));
        }
        removeItem("000f1834-8694-465d-ba89-2bf45e3ce132");
    });
</script>

我想您可以尝试对任何“怪异”命名约定使用三引号,例如名称中的空格或名称中的特殊字符。

答案 1 :(得分:-1)

感谢大家的回答,问题并不在于空间,而是在其中一个表中,我可以通过将游标类型“ adOpenKeyset”替换为“ adOpenDynamic”来绕过该问题 但他了解问题的原因,可能是另一个用户在桌子上工作?!