2017-01-20 17 views
0

データストアのSQL文を変更し、一重引用符に問題があります。新しいSQLは次のようになります。Powerbuilder:データストアのSQLを変更する構文

Select 'F' as c_value from table 

問題は(私が推測する)一重引用符です。私はthikこのコマンドから

datastore.Modify("DataWindow.Table.Select='Select 'F' as c_value from table'") 

私はF.近くに不正な構文エラーを取得するには、右、「F」で引用符をエスケープする必要がありますか?しかし、正しい構文は何ですか?

答えて

1

これが私のオススメです。

ls_Select = "Select 'F' as c_value from table" 
dw_1.Object.DataWindow.Table.Select = ls_Select 
dw_1.SetTransObject(SQLCA) 
dw_1.Retrieve() 
+0

を、I正しいSQL文字列を取得します。しかし、dw_1.getItemString(1、 'c_selected')は無効な行/列エラーをドロップします... –

+0

申し訳ありませんが、関数describe()は文字列を返し、データウィンドウ内で変更を適用しません。データウインドウのフィールドを収集するため、データウインドウに変更が適用されます。 'c_selected'フィールドには、Datawindow 'c_value'フィールドを収集したくないという質問がありますか? –

+0

申し訳ありませんが、これはコピー/エラーです。ドット表記は機能します。データストアで私は正しいSQLになりました。あなたの答えは正しい。 今、私はc_valueでgetItemStringを実行し、 'F'を取得すると予想しています。しかし、代わりに無効なDatawindowの行/列と言います。これは、c_valueがテーブル定義にないためです。 –

1

はこの試してみてください。私は `ls_sql = ids_dw_multi_search.describe( 'DataWindow.Table.SQLSelect')を行う場合は、あなたの勧告後に`

datastore.Modify("DataWindow.Table.Select='Select ~'F~' as c_value from table' "); 
関連する問題