-1

私を助けてくれる人はいますか?

他の誰かが作成したデータベースでクエリを実行する必要があります。私が遭遇した問題は、テーブルの名前に 3 つのスペースが含まれていることです。

クエリの例: 「SELECT * FROM Item Journal Line」。

[]とにかく機能しません。テーブル名を'で囲んでみました`, ´´, '',が、何も機能していません。

クエリでこのテーブルに対処する方法について何か提案はありますか? 私はウェブで検索しましたが、私を助けることができるものは何も見つかりませんでした. SharpDevelop を使用して c# で作業しています。

4

4 に答える 4

3

テーブル名がtest table

MSSQL(これがあなたが使用しているものだと思います)で実行します

select * from "test table"

この文字列を作成するには、エスケープ シーケンスC#を使用し、次のようにエスケープします。"\"

string queryStr = "select * from  \"test table\" " ;
于 2013-06-13T12:28:35.567 に答える
2

スペースやその他の予約文字を含む 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() 
}

ただし、非常に奇妙な名前のテーブルが実際にある場合は、より扱いやすい名前のビューを作成することを検討してください。

于 2013-06-13T12:34:06.327 に答える
1

Postgresql

 String query= "select * from appsetup.""fsd sdfsd sdfds"""

pass this query in `command` 
于 2013-06-13T12:41:40.520 に答える