查询名称中包含空格的表

Posted

技术标签:

【中文标题】查询名称中包含空格的表【英文标题】:Query a table that has spaces in its name 【发布时间】:2011-06-27 20:00:59 【问题描述】:

我有一个情况,我有一个名为 Gas Flow Rates 的访问表,我想添加记录。当我尝试对类似的表 Common Station 运行插入查询时,我收到以下错误:

"error hy000: 语法错误,在查询不完整的查询子句中"

代码是:

using System;
using System.Data.Odbc;

class MainClass

static void Main(string[] args)

    string connectionString = "Dsn=Gas_meter";
    string sqlins = "";
    OdbcConnection conn = new OdbcConnection(connectionString);

    OdbcCommand cmdnon = new OdbcCommand(sqlins, conn);
    conn.Open();

    try
    
       cmdnon.CommandText = "INSERT INTO 'Common station' ( S1Flow, S2Flow, S3Flow, S4Flow) VALUES (9999,999, 999, 999)";
        //Once the above line works replace it with cmdnon.CommandText= "INSERT INTO Gas Flow Rates ( S1Flow, S2Flow, S3Flow, S4Flow) VALUES (9999,999, 999, 999)"
        int rowsAffected = cmdnon.ExecuteNonQuery();
        Console.WriteLine(rowsAffected);
    
    catch (Exception ex)
    
        Console.WriteLine(ex.ToString());
    
    finally
    
        conn.Close();
    


我该如何克服这个错误?

【问题讨论】:

【参考方案1】:

用方括号将隔开的项目括起来:

[Common station]

那就给设计数据库的人一巴掌吧。

【讨论】:

谢谢,如果他不住在亚利桑那州,我绝对会的。我想我会给他发一个 Chappelle 表演 Rick James 短剧的片段,Rick James 告诉他五个手指对脸上的笑话说了些什么。 LMBO 我遇到了一个使用关键字作为列名的人的问题。相同的解决方案(即 [] - 也许是耳光?)。我们不这样做是有原因的(可维护性这个词有什么意义吗?)。 不是真的,不能从 Gas_Flow_Rates 或 GasFlowRates 派生出来的重要性不高。据我所知,这正是他创建表格的方式。 我笑得很厉害。【参考方案2】:

SELECT * FROM [My Crazy Table With Spaces and Other Chars!]

使用方括号“引用”表格和字段名称。

【讨论】:

【参考方案3】:
  cmdnon.CommandText = "INSERT INTO '[Common station]' ( S1Flow, S2Flow, S3Flow, S4Flow) VALUES (9999,999, 999, 999)";
    //Once the above line works replace it with cmdnon.CommandText= "INSERT INTO Gas Flow Rates ( S1Flow, S2Flow, S3Flow, S4Flow) VALUES (9999,999, 999, 999)"

【讨论】:

【参考方案4】:

我知道的聚会迟到了,但我刚刚在这里解决了我自己的问题...... 使用 ODBC 连接到 SQL Db 在 access 2007 中播放。

表名是 Employee_Appointment Extra Detail Custom 选择的语法如下 SQlRecordSet.Open "Select * from [Employee].[Appointment Extra Detail Custom]", Conn, adOpenStatic, adLockOptimistic

希望这可以为其他人节省几个小时的游戏时间!

【讨论】:

以上是关于查询名称中包含空格的表的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 xargs 复制名称中包含空格和引号的文件?

在 JavaScript/jQuery 中,如何检索名称中包含空格的数据?

如何在 Windows 7 中重命名文件夹:名称中包含空格的命令行 [关闭]

经历:sybase的sql查询,当传递的参数中包含全角空格(u00a0),查询慢

在 SQL 请求中,如何查找字符串最后一部分中包含数字的所有记录(最后一个空格之后)

[python]特殊输入格式(输入中包含空格逗号等)