【发布时间】:2013-12-23 14:21:56
【问题描述】:
我的应用程序中有一个 GridView,我应该通过加入不同的表来显示记录列表。 SQL Join 查询显示记录,但在 1000 行内显示 2 到 3 条记录两次。是因为sql查询吗?
我使用的 SQL 查询是:
SqlDataAdapter da = new SqlDataAdapter("select dt.name, rg.sex, ad.dt_adm, st.* " +
"from stdn_st st, stdn_reg rg, stdn_det dt, admsn_det ad where st.college='" +
lbl_college.Text + "' and st.course='" + lbl_course.Text + "' and st.sem='" +
lbl_sem.Text + "' and st.pass='" + lbl_pass.Text + "' and rg.id=st.sid and " +
"dt.sid=st.sid and ad.sid=st.sid", con);
【问题讨论】:
-
你试过使用
distinct吗?也尝试使用JOIN语法而不是旧的语法:select distinct dt.name, rg.sex, ad.dt_adm, st.* from stdn_st st inner join stdn_reg rg on rg.id=st.sid inner join stdn_det dt on dt.sid=st.sid inner join admsn_det ad on ad.sid=st.sid where st.college='" + lbl_college.Text + "' and st.course='" + lbl_course.Text + "' and st.sem='" + lbl_sem.Text + "' and st.pass='" + lbl_pass.Text + "' -
@PeterRing 所有表只包含唯一记录。
-
@MahmoudGamal 你介意帮我加入吗?我觉得加入有点混乱
-
@umesh-sinha 但您在 qustion 中写道:“...它显示 2 到 3 条记录两次”那您的意思是什么?
-
您在查询中使用的
JOIN语法是旧的连接语法,它通过在 from 子句中列出带有,的表并将条件放在WHERE子句中,其他语法是使用JOIN关键字并将条件放在ON上,参见this article for more details
标签: c# asp.net sql sql-server gridview