SELECT * INTO 不完整查询子句
Posted
技术标签:
【中文标题】SELECT * INTO 不完整查询子句【英文标题】:SELECT * INTO Incomplete Query Clause 【发布时间】:2015-11-13 15:33:53 【问题描述】:我似乎在我的 OleDbCommand 中做错了什么,但我不知道它是什么。我正在尝试在我的访问数据库中创建另一个表,该表与第一个表完全相同,但名称不同,方法是从一个表中复制所有内容并使用 SELECT INTO。我不知道为什么它不起作用。
OleDbCommand copyAttendanceCommand = new OleDbCommand("SELECT * INTO '" + "Attendance " + DateTime.Now.Day + "/" + DateTime.Now.Month + "/" + DateTime.Now.Year + "' FROM Attendance",loginForm.connection);
copyAttendanceCommand.ExecuteNonQuery();
我收到的错误消息是“查询中的语法错误。查询子句不完整”。有谁知道这是什么意思?
【问题讨论】:
语法错误意味着你的查询写错了... @messerbill:呵呵。而SELECT * INTO
是一个表创建查询。一点都没错。
【参考方案1】:
带有空格的表或字段名称不是用''
围绕它们指定的,而是用方括号。
你的命令应该是:
"SELECT * INTO [Attendance " + DateTime.Now.Day + "/" + DateTime.Now.Month + "/"
+ DateTime.Now.Year + "] FROM Attendance"
【讨论】:
【参考方案2】:您甚至可以格式化日期以使代码更具可读性:
string today = DateTime.Today.ToString("d'/'M'/'yyyy");
string sql ="SELECT * INTO [Attendance " + today + "] FROM Attendance";
OleDbCommand copyAttendanceCommand = new OleDbCommand(sql, loginForm.connection);
copyAttendanceCommand.ExecuteNonQuery();
【讨论】:
以上是关于SELECT * INTO 不完整查询子句的主要内容,如果未能解决你的问题,请参考以下文章
将过程参数传递给 SELECT INTO where 子句不起作用
Oracle PL/SQL SELECT INTO 子句认为它需要另一个 INTO