永远不会分配给,并且将始终具有其默认值

时间:2013-05-19 16:33:26

标签: c#

我试图从数据库创建的下拉列表中选择一个名称。我似乎无法让鬃毛分配。

当我点击选择按钮时,它不会在comboBox1中携带人名,直到下一批代码。

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.OleDb;
using System.Data.Sql;

namespace GlidingLogsGUI2
{
public partial class InstructorSelectionForm : Form
{
    List<Person> instructors = new List<Person>();
    Person selectedPerson;

    public InstructorSelectionForm()
    {
        InitializeComponent();
        this.TopMost = true;

        List<Person> instructors = new List<Person>();
        OleDbCommand com = new OleDbCommand("SELECT * FROM Personnel WHERE [Current?] = TRUE AND [Position] = ?", Program.DB_CONNECTION);
        com.Parameters.Add(new OleDbParameter("", PositionIDs.INSTRUCTOR));

        OleDbDataReader dr = com.ExecuteReader();

        while (dr.Read())
        {
            try
            {
                instructors.Add(new Person(dr));
            }
            catch
            {
            }
        }

        foreach (Person a in instructors)
        comboBox1.Items.Add(a.FirstName + " " + a.Surname);
    }

    private void Selectbutton_Click_1(object sender, EventArgs e)
    {
        if (selectedPerson == null)
        {
            MessageBox.Show("A person must be selected first");
            return;
        }

        new F5363(selectedPerson);
    }

    private void CancelButton_Click_1(object sender, EventArgs e)
    {
        this.Close();

    }

    private void InstructorSelectForm_Load(object sender, EventArgs e)
    {

    }


    }
}

1 个答案:

答案 0 :(得分:3)

您正在声明selectedPerson,但从未将其设置为任何位置。我怀疑你想要做的是删除selectedPerson的当前声明并将click事件更改为类似于;

private void Selectbutton_Click_1(object sender, EventArgs e)
{  
    Person selectedPerson = comboBox1.SelectedItem as Person;
    if (selectedPerson == null)
    {
...