简体   繁体   English

如何在Sql Compact上连接表?

[英]How to connect tables on Sql Compact?

I have 2 table database; 我有2个表数据库;

Firt table's columns; Firt表的列;

ClubID(Primary key, auto-increment enabled), ClubName ClubID(主键,启用自动递增),ClubName

Second table's columns; 第二张表的列;

ShowID(Primary key, auto-increment enabled), ShowDate, ClubID ShowID(主键,启用自动递增),ShowDate,ClubID

User is selecting Club's name on the form, when user selected a name, dates on the table user have selected must be list on form. 用户在表单上选择俱乐部的名称,当用户选择名称时,用户选择的表上的日期必须在表单上列出。

Here is the code; 这是代码;

SqlCeConnection Conn = new SqlCeConnection("Data Source=|DataDirectory|CeoDatabase.sdf;Password=CeoDB;Persist Security Info=True");
            Conn.Open();

            SqlCeCommand GetDates = new SqlCeCommand("SELECT ShowDate FROM Shows INNER JOIN Shows ON  Shows.ClubID = Clubs.ClubID WHERE Clubs.ClubName='" + cmb_ClubNamesList.SelectedItem.ToString() + "'", Conn);

            SqlCeDataReader WriteDates= RezervasyonlariAl.ExecuteReader();


            while (WriteDates.Read())
            {
               cmb_ClubNamesList.Items.Add(WriteDates["ShowDate"]);
            }

This code throws "The table aliases must be unique. [ Name of duplicate alias = Shows ]" exception on the SqlCeCommand GetDates line. 这段代码在SqlCeCommand GetDates行上引发“表别名必须是唯一的。[重复别名的名称=显示]”异常。

It looks like you were joining shows on itself. 看来您正在参加表演。 I think you were meaning to do this: 我认为您的意思是这样做:

SELECT ShowDate FROM Shows INNER JOIN Clubs ON  Shows.ClubID = Clubs.ClubID WHERE Clubs.ClubName='" + cmb_ClubNamesList.SelectedItem.ToString() + "'"

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM