我正在尝试从数据库中读取多个字符串,并使用foreach string in (从数据库获取的字符串)循环。为了让您更好地了解:这是方法。(我已经在之前声明了连接。)
private void PendingButton_Click(object sender, RoutedEventArgs e)
{
string PendingQuery = "SELECT user_from FROM friend_requests WHERE user_to=@username";
connection.Open();
MySqlCommand PendingCommand = new MySqlCommand(PendingQuery, connection);
PendingCommand.Parameters.AddWithValue("@username", CurrentUserUsername);
MySqlDataReader PendingDataReader = PendingCommand.ExecuteReader();
while (PendingDataReader.Read())
{
foreach (string senderusername in PendingDataReader.GetString("user_from").ToString())
{
//go on from here
}
}
connection.Close();
}
它从表friend_requests中选择user_from,其中user_to等于当前用户的用户名。事实上有多个字符串。我想在数据库中做一个foreach循环,在其中user_to=当前用户的用户名。
在这个例子中,我将循环4次,字符串将是Aluin,test123,XeKe和milanneke10。
我该如何处理?
foreach
遍历任何内容。PendingDataReader.Read()
返回的每条记录都是一个单独的字符串。在调试时,您是否看到了不同的内容? - Heretic MonkeyPendingDataReader.GetString("user_from")
的值。这里是在Visual Studio中如何做到这一点的方法。 - Heretic MonkeyToString
,DBNull.Value
会导致抛出异常,你应该确保值不为 null 再转换为字符串。 - Gregwhile
循环中像在foreach
循环中一样制作网格,或者你可以接受 @TomFarley 的答案。 - NetMage