mySQL获取列表中所有相同的值
本文关键字:获取 列表 mySQL | 更新日期: 2024-09-20 00:15:48
在我的数据库中有7种不同的数据。但在我的Result中,所有返回的值都相同。我的代码中有什么逻辑错误???其中[0]-[6]是具有相同值的1个结果。结果如下[0]="测试仪"[1]="测试机"[2]="测试者"。。。。util[6]
public class StreamWcf : IStreamWcf
{
public List<streamData> getMusic()
{
try
{
MySqlConnection con = new MySqlConnection(WebConfigurationManager.ConnectionStrings["ComeVoxConnectionString"].ToString());
MySqlDataReader myReader;
streamData user_stream = new streamData();
List<streamData> userStream = new List<streamData>();
//string cmdText = "SELECT m.id, s.avatar, s.username, m.title, m.path, m.description, m.date FROM users s, musics m WHERE (musics.userID = users.id)";
string cmdText = "SELECT musics.id as MID, users.avatar as UserPic, users.username as userName, musics.title as MTitle, musics.path as MusicPath, musics.description as Mdesc, musics.date as MDate FROM `users`, `musics` WHERE musics.userID = users.id;";
con.Open();
MySqlCommand cmd = new MySqlCommand(cmdText, con);
myReader = cmd.ExecuteReader();
if (myReader.HasRows)
{
while (myReader.Read())
{
user_stream.musicID = Convert.ToInt32(myReader["MID"].ToString());
user_stream.Title = myReader["MTitle"].ToString();
user_stream.FilePath = myReader["MusicPath"].ToString();
user_stream.desc = myReader["Mdesc"].ToString();
user_stream.Artists = myReader["userName"].ToString();
user_stream.releaseDate = Convert.ToDateTime(myReader["MDate"].ToString());
user_stream.imgUrl = myReader["UserPic"].ToString();
userStream.Add(user_stream);
}
myReader.Close();
con.Close();
}
return userStream;
}
catch (Exception ex)
{
throw new Exception(ex.Message);
}
}
}
您在同一个user_stream
实例上进行操作。将streamData user_stream = new streamData();
移动到while
循环中,以在每次迭代中创建一个新循环。
在while
块中创建新的user_stream
。
最好使用using
语句
using (var con =new MySqlConnection(WebConfigurationManager.ConnectionStrings["ComeVoxConnectionString"].ToString()))
{
var userStream = new List<streamData>();
//string cmdText = "SELECT m.id, s.avatar, s.username, m.title, m.path, m.description, m.date FROM users s, musics m WHERE (musics.userID = users.id)";
string cmdText =
"SELECT musics.id as MID, users.avatar as UserPic, users.username as userName, musics.title as MTitle, musics.path as MusicPath, musics.description as Mdesc, musics.date as MDate FROM `users`, `musics` WHERE musics.userID = users.id;";
con.Open();
using (var cmd = new MySqlCommand(cmdText, con))
{
using (MySqlDataReader myReader = cmd.ExecuteReader())
{
if (myReader.HasRows)
{
while (myReader.Read())
{
var user_stream = new streamData();
user_stream.musicID = Convert.ToInt32(myReader["MID"].ToString());
user_stream.Title = myReader["MTitle"].ToString();
user_stream.FilePath = myReader["MusicPath"].ToString();
user_stream.desc = myReader["Mdesc"].ToString();
user_stream.Artists = myReader["userName"].ToString();
user_stream.releaseDate = Convert.ToDateTime(myReader["MDate"].ToString());
user_stream.imgUrl = myReader["UserPic"].ToString();
userStream.Add(user_stream);
}
}
}
}
}