从多个不同的表中选择一个列并加入一个最终表

时间:2015-04-08 23:21:20

标签: c# database sqlite select join

我正在为我的一个项目类开发一个C#评分应用程序,我们有一个数据库设置来处理竞争对手,锦标赛,事件等的多个不同输入。

关系:

TournamentID
PK Base:锦标赛
PK专栏:TournamentID
FK基地:结果
FK专栏:TournamentID

事件ID
PK Base:EventsTable
PK专栏:EventID
FK基地:结果
FK专栏:EventID

用户ID
PK Base:竞争对手
PK栏:用户ID
FK基地:结果
FK栏:用户ID

展示位置
PK Base:积分
PK专栏:安置
FK基地:结果
FK栏:展示位置

我正在做的事情(正如我的教授所说)是从PK Base表中选择一列数据(竞争对手,锦标赛,事件,积分)并加入一个决赛桌(结果) )。要选择的列是Competitor.UserID,Tournament.TournamentID,EventsTable.EventID,Points.Placement。

我们有一个输入屏幕,其中有一个组合框中的Tournament.Title,一个组合框中的EventsTable.Title,一个列表框中的Competitor.LastName,Competitor.FirstName,一个列表框中的Points.PlaceScore和一个Points.PlaceScore的文本框。

我正在寻找帮助,从竞争对手,锦标赛和事件中选择三(3)个ID,并从Points中选择单个(1)Placement,并将它们插入到Submit按钮单击事件的Results表中的预定义列中输入屏幕.selecteditem和.indices为相应的列表框和组合框。

点击按钮,我试图一次处理一个数据输入而不是全部四个,我们的结果表没有收到数据输入。

    {
        string sql = null;
        string connectionString = "Data Source= ";
        using (SqlConnection cnn = new SqlConnection(connectionString))
        {              
            SqlDataAdapter adapter = new SqlDataAdapter();

            sql = @"INSERT INTO Results (TournamentID)
                    SELECT  TournamentID
                    FROM    Tournaments
                    WHERE   Title = '" + comboScoringTournamentSelect.SelectedItem + "'";

            using (SqlCommand command = cnn.CreateCommand())
            {
                cnn.Close();                   
                command.CommandText = sql;
                cnn.Open();
                MessageBox.Show("Record Inserted");

            }
        }           
    }

1 个答案:

答案 0 :(得分:0)

呃......可能就像你实际上没有执行过命令一样简单吗?

                cnn.Close();
                command.CommandText = sql;
                cnn.Open();
                int lines = command.ExecuteNonQuery();
                MessageBox.Show("Record Inserted");