有人可以帮助我吗?
我必须在其他人创建的数据库中进行查询。我遇到的问题是表名包含三个空格。
查询示例:“SELECT * FROM Item Journal Line
”。
无论如何它都不起作用,我尝试用[]
, `, ´´, '',
' 包围表名,但没有任何效果。
关于如何在我的查询中处理此表的任何建议?我在网上搜索过,但没有找到任何可以帮助我的东西。我正在使用 SharpDevelop 使用 c#。
有人可以帮助我吗?
我必须在其他人创建的数据库中进行查询。我遇到的问题是表名包含三个空格。
查询示例:“SELECT * FROM Item Journal Line
”。
无论如何它都不起作用,我尝试用[]
, `, ´´, '',
' 包围表名,但没有任何效果。
关于如何在我的查询中处理此表的任何建议?我在网上搜索过,但没有找到任何可以帮助我的东西。我正在使用 SharpDevelop 使用 c#。
如果你的表名是test table
在 MSSQL 中(我猜这是你正在使用的)运行
select * from "test table"
C#
要在使用Escape Sequences中创建此字符串,并"
使用\"
string queryStr = "select * from \"test table\" " ;
访问包含空格或其他保留字符的 Sql Server 数据库表的认可方法是使用方括号。但是您不应该在其中包含 dbo 部分,否则搜索将失败,因为没有dbo
前 3 个字符的表。
string strConnection = "server=***;" + "database=***;" + "uid=***;" + "pwd=***;";
string query = "SELECT * FROM [Item Journal Line]";
using(SqlConnection myConnection = new SqlConnection(strConnection))
using(SqlCommand command= new SqlCommand(query, myConnection))
{
myConnection.Open();
SqlDataReader reader = command.ExecuteReader()
}
但是,如果您确实有名称如此奇怪的表,请考虑创建一个名称更容易使用的视图
在Postgresql
String query= "select * from appsetup.""fsd sdfsd sdfds"""
pass this query in `command`
Dave Rook 在你的评论中说。
您提出的问题的答案在这里: 查询名称中有空格的表
string sqlQuery = "SELECT * from [Item Journal Line]";
这解决了你的问题吗?也许有人以您的桌子的名义添加了一个空格或一些邪恶的东西。
string sqlQuery = "SELECT * from [Item Journal Line /n]";
如果这不能解决您的问题,则可能是您所问的问题之外的其他问题,您能否发布错误消息或告诉我们问题是否已解决?