2016-11-07 6 views
0

enter image description here私はpostgresQLに接続できますが、問題のあるクエリ文字列を書き込んでいます。Postgresql:テーブル名が二重引用符で囲まれた文字列にクエリ文を書き込む

私は、下記の

 string queryString = "Select* From \"ContactLink\" where \"ContactApplicationID\"="+ contactAppID; 

出力しようとしている

: - この1つは、\で文字列を返している「\ "ContactApplicationID \" = 1428760" ContactLink \

を "\ SELECT * FROMを"テーブル名「ContactLink」とContactApplicationIDを使用します。

大文字と小文字を区別しないqueryStringが必要です。どうやってやるの ?

私はstring.Replaceを試していますが、すべて運がありません。

ご協力いただければ幸いです。

注: - 「queryString」を印刷すると、/なしになります。だから、そこで何が起こっているのか知りません。

苦情の理由は接続していますが、表を読み取ることができないためです。

+0

@GrantWinneyが、我々はそれがエラーを投げているPostgreSQLの二重引用符なしでクエリを実行した場合。 – vic

+0

@GrantWinneyその構文エラーです。 – vic

+0

@ GrantWinney: - 私はscreengrabを添付しました – vic

答えて

-1
Select * from ContactLink where ContractApplicationID = 1428 

か、文字列フィールド

Select * from ContactLink where ContractApplicationID = '1428' 

だ場合は、C#のコードにしようとしている場合は、試してみてください。

string queryString = String.Format("Select * From ContactLink where ContactApplicationID = {0} ",contactAppID); 
+0

: - 動作していません。 – vic

+0

エラーは何ですか? – JDS

+0

: - 接続されたscreengrabにエラーがあります – vic

-1

問題は、あなたがテーブルを作成した方法です。あなたのテーブル名とその中のカラムは、sqlで "サポート"されている大文字と小文字を区別して作成されましたが、SQLとクエリを書くために使用する言語では多くの問題を引き起こす可能性があります。 SQLでは二重引用符でエスケープする必要があります。

sqlでは、単語を分割するために大文字の小文字を大文字にする代わりに_を使用するのが一般的です。

ContactLink = CONTACT_LINK ContactApplicationID = contact_application_id

+0

命名規則に間違いはありません。 – hima

関連する問題