私の質問をする前に、このシナリオを検討してください。私のウェブサイトのユーザーはprofileID
です。このprofileID
にはpluginID
が関連付けられています。複数の値をセッション変数に格納
例:User1
は、プロフィールに関連付けられた2,3,5のプラグインを持っている可能性があります。
ユーザーがログインすると、ユーザーのprofileID
がセッション変数cod
に保存されます。特定のページで、ユーザーは自分のプロフィールに関連付けられたplugins
を編集しようとします。だから、そのページで、私はそれらのpluginID
をDBから取り出さなければなりません。
私はこのコードを適用しましたが、これはDBから最大pluginID
だけを取り込み、pluginID
のすべてを取り出すわけではありません。
SqlCommand cmd1 = new SqlCommand("select plugin_id from profiles_plugins where id=(select id from profiles_plugins where profile_id=" + Convert.ToInt32(Session["cod"]) + ")", con);
SqlDataReader dr1 = cmd1.ExecuteReader();
if (dr1.HasRows)
{
while (dr1.Read())
{
Session["edp1"] = Convert.ToInt32(dr1[0]);
}
}
dr1.Close();
cmd1.Dispose();
このセッション変数に複数のpluginID
を保存するにはどうすればいいですか?
おかげ
脇に:コマンド、リーダー、および接続のそれぞれの周りに '使用中 'があるはずです。 –
そして**あなたのクエリを**パラメータ化する必要があります!一般的なルールとして、**決して**あなたのSQLクエリを連結しない - これはSQLインジェクション攻撃の扉を開く - それをしないでください。 –
また、同じコードでデータアクセスとセッション処理を混在させないでください。ここでは奇妙なことがたくさん起こっています...また、これは "質問" [複数の単一のテーブルの行]の重複かもしれません(http://stackoverflow.com/questions/4638578/multiple-rows-of-a単一のテーブル)。 –