JOIN SQL不能正常工作

时间:2016-08-01 21:37:21

标签: c# asp.net sql-server join

我有课程表(CID,CName),另一张表显示每门课程CourseMajor(CID,MNom)的专业。

我有一个曙光名单,其中包含专业数字。如果用户从列表中选择一个主要号码,则应该填写来自所选专业的课程。

我有以下代码向我展示所有课程,不仅仅是所选主要编号的课程! 我使用LEFT JOIN,RIGHT JOIN,INNER JOIN,FULL OUTER JOIN ......并且它们都不起作用。

注意:我使用的是C#,asp.net,vs.net ......

 using (SqlConnection con = new SqlConnection(conStr))
        {
            using (SqlCommand cmd = new SqlCommand("SELECT * FROM TBCourse FULL JOIN TbCourseMajor ON  TBCourse.CId = TbCourseMajor.CId  AND TbCourseMajor.MNom = '" + DLMNom.SelectedValue + "' ", con))
            {
                con.Open();
                cmd.ExecuteNonQuery();
                SqlDataReader reader = cmd.ExecuteReader();
                if (reader.HasRows)
                {
                    reader.Read();


                    while (reader.Read())
                    {
                     DLCName.Items.Add(new ListItem(reader["CName"].ToString(), reader["CNom"].ToString()));

                    }
                }
                else { TxtCRN.Text = "Not worked"; }
            }
        }

这是关于表格的一些细节:

CREATE TABLE [dbo].[TBCourse] (
    [CId]    INT           IDENTITY (1, 1) NOT NULL,
    [CNom]   INT           NOT NULL,
    [CName]  NVARCHAR (50) NOT NULL,
    [Chours] NCHAR (10)    NOT NULL,
    CONSTRAINT [PK_TBCourse] PRIMARY KEY CLUSTERED ([CId] ASC)
);


CREATE TABLE [dbo].[TbCourseMajor] (
    [CId]  INT NOT NULL,
    [MNom] INT NOT NULL,
    PRIMARY KEY CLUSTERED ([CId] ASC),
    FOREIGN KEY ([CId]) REFERENCES [dbo].[TBCourse] ([CId]),
    FOREIGN KEY ([MNom]) REFERENCES [dbo].[TbMajor] ([MNom])
);

1 个答案:

答案 0 :(得分:0)

问题是因为devlin carnage在数据库中说(在存储的数据中),第二个表有一个问题(不是存储数据)它显示为null ..我创建了另一个具有相同数据的表,它完美地工作..谢谢所有抱歉从一开始就无法发现问题。