C# C-如何显示特定成员的子数据?
我有一个数据库,有两个表,一个用于登录,另一个用于购买游戏。我创建了一个用于登录的会话,现在我无法显示此特定客户的所有行。我可以从MS Access查看表关系,但我不知道如何在标签中显示它们 这是我的代码:C# C-如何显示特定成员的子数据?,c#,ms-access-2016,C#,Ms Access 2016,我有一个数据库,有两个表,一个用于登录,另一个用于购买游戏。我创建了一个用于登录的会话,现在我无法显示此特定客户的所有行。我可以从MS Access查看表关系,但我不知道如何在标签中显示它们 这是我的代码: OleDbDataReader myReader = null; OleDbCommand cmd = new OleDbCommand("select * from new_table, games where new_table.MemberID='" + Session["New"]
OleDbDataReader myReader = null;
OleDbCommand cmd = new OleDbCommand("select * from new_table, games where new_table.MemberID='" + Session["New"] + "'", con);
myReader = cmd.ExecuteReader();
while (myReader.Read())
{
label_id.Text = (myReader["MemberID"].ToString()); //welcome user
}
OleDbDataReader myReader2 = null;
OleDbCommand cmd2 = new OleDbCommand("select * from new_table, games where '" + Session["New"] + "' = games.custID", con);
myReader2 = cmd2.ExecuteReader();
if (myReader2.HasRows)
{
DataTable dt = new DataTable();
dt.Load(myReader2);
label1.Text = dt.Rows[0]["gameTitle"].ToString();
label2.Text = "$" + Convert.ToDecimal(dt.Rows[0]["gamePrice"]).ToString("N2");
label3.Text = "$" + Convert.ToDecimal(dt.Rows[0]["gameDisc"]).ToString("N2");
label4.Text = dt.Rows[2]["gameTitle"].ToString();
label7.Text = dt.Rows[4]["gameTitle"].ToString();
}
我这里的问题是,如果我设置dt.Rows[3],它会显示错误System.IndexOutOfRangeException:在位置3没有行。。我仍然是C语言的初学者,如果这是以前发布的,我很抱歉。对不起,我的英语不好,它不是我的第一语言 尝试此查询:
string query = "select * from (games
inner join new_table on games.custID = new_table.MemberID)
where new_table.MemberID = '" + Session["New"] + "'";
您想显示客户购买的所有游戏是否正确?@grepLines-yes。但我不知道该怎么做。有几行有相同的游戏标题,但它们位于不同客户购买的不同行中。我可以知道您的游戏表的列名吗?什么是新表格?@grepLines代表新表格,MemberID,MemberPW,MemberName。适用于游戏、游戏名称、游戏价格、游戏光盘、客户ID。。custID是外键。新表中的MemberID是主键。new_table是客户登录名和详细信息您的games table中是否有MemberID?谢谢您的帮助,这是我收到的错误。。异常详细信息:System.Data.OleDb.OLEDBEException:FROM子句中的语法错误。MemberID是int类型的吗?请尝试一下,看看它是否引发异常:select*FROM gamesno异常,但我尝试了两个不同的客户登录,并且都显示了从同一行购买的相同游戏,因为我设置了dt.Rows[0]、dt.Rows[2]和dt.Rows[4]所以只有dt.行[3]不起作用,但行[2]和行[4]可以吗?