だから、私は現在のユーザーが「シャウトアウト」を見ることができる「シャウトアウト」と呼ばれるエリアを作成しようとしています.
したがって、最初に現在のユーザーのすべての友達を「currentuserfriends」という配列に入れ、次に、ユーザー名が「currentuserfriends」内のすべてのユーザーであるシャウトアウト テーブルからメッセージを選択します。
ただし、selectステートメントをループする方法がわかりません。
私は何かをする必要はありません。
string getuserfriendlist = "SELECT friend FROM friend WHERE username = '" + currentuserfriends[0] + "'";
currentuserfriends[0] を手動で増やします。単一の select ステートメントで最後まで currentuserfriends をループする方法はありますか? ありがとう。
フレンドテーブル
username | friend
シャウトアウトテーブル
username | message | datetime
コード:
string[] currentuserfriends = new string[9999];
string[] posternames = new string[9999];
string getuserfriendlist = "SELECT friend FROM friend WHERE username = '" + currentuser + "'";
SqlCommand cmdb = new SqlCommand(getuserfriendlist, con);
SqlDataReader drb;
drb = cmdb.ExecuteReader();
while (drb.Read())
{
string currentuserfriend = drb["friend"].ToString();
currentuserfriends[l++] = currentuserfriend;
}
drb.Close();
string getshoutout = "SELECT * FROM shoutout WHERE username = '" + currentuserfriends + "' AND username ='" + currentuser + "' order by datetime DESC";
SqlCommand cmdc = new SqlCommand(getshoutout, con);
SqlDataReader drc;
drc = cmdc.ExecuteReader();
while (drc.Read())
{
string postername = drb["username"].ToString();
posternames[m++] = postername;
}
drc.Close();
Label2.Text = posternames[0];
Label3.Text = posternames[1];
Label4.Text = posternames[2];
Label5.Text = posternames[3];
Label6.Text = posternames[4];