Studio 2010 C#とDB2UDB9.7.5の使用
次のように、WHEREIN句を使用してデータソースからグリッドビューにデータを入力しています。
<asp:SqlDataSource ID="LUWAccts" runat="server" onSelecting="gvGrid01_Selecting"
ConnectionString="<%$ ConnectionStrings:LUWHAConnect %>"
ProviderName="<%$ ConnectionStrings:LUWHAConnect.ProviderName %>"
SelectCommand="SELECT mycolumns FROM mytables WHERE GROUP_NAME IN ? ">
<SelectParameters>
<asp:Parameter Name="grpList" Type="String" />
</SelectParameters>
WHERE句のハードコーディングは正常に機能します(つまり、WHERE GROUP_NAME IN('GROUP1'、'GROUP2'、'GROUP3')
しかし、次のように、コードビハインドでデータソースのonSelectingイベントを使用してグループリストを作成しようとしています。
protected void gvGrid01_Selecting(object sender, SqlDataSourceSelectingEventArgs e)
{
string gpList = Get_SVCACCT_Auth_Groups(Session["ThisUser"].ToString());
//This routine returns the string "('GROUP1','GROUP2','GROUP3')"
}
grpList文字列を表示すると、実際には('GROUP1'、'GROUP2'、'GROUP3')になります。
しかし、データが表示されません。SELECTステートメントを変更したり、e.Command.Parameters.Addを使用してパラメーターリストを変更したり、ControlParemetersを使用したりするために、さまざまな手法を検索して試しました。
また、WHERE IN句がコンマ区切りのリストパラメータを処理できない方法についての投稿を読みましたが、INキーワードはテーブルに対してクエリを実行できます。
私のgpListは別のSELECTステートメントから作成されていませんが、運が悪かったので、これのいくつかの例を試しました。初心者であること-私は解決策の周りで踊っているようです。
これに答えるのに役立つ投稿を見逃した場合はお知らせください。どんな助けでもいただければ幸いです。