首页 > 解决方案 > 错误不表示对象实例

问题描述

我用它 DevExpress

我正在尝试添加一个新组,并将其添加到 ComboBoxEdit,但错误表明它并不表示对象实例。我以不同的形式传递参数......我该怎么办?
1 表格学生信息:

    public void LoadingIDGroupTeacher(string indexTeacher)
    {

        sqlConnection = new SqlConnection(connectionString);
        string sql = "GETGroupsTeacher";
        sqlConnection.Open();
        sqlCommand = new SqlCommand(sql, sqlConnection)
        {
            CommandType = System.Data.CommandType.StoredProcedure
        };
        sqlParameter = new SqlParameter
        {
            ParameterName = "@index",
            Value = int.Parse(indexTeacher)
        };
        sqlCommand.Parameters.Add(sqlParameter);
        sqlDataReader = sqlCommand.ExecuteReader();
        while (sqlDataReader.Read())
        {
            //an error appears here

ComboBoxGroups.Properties.Items.Add(sqlDataReader.GetValue(0).ToString()); 
        }
        sqlConnection.Close();
    }

2 当我想添加一个新组时形成:

    private void BtnCancel_Click(object sender, EventArgs e)
    { 
        new InformaitionOfStudents().LoadingIDGroupTeacher(usIndex);
        Dispose();

    }

T-SQL 程序:

 ALTER PROCEDURE [dbo].[GETGroupsTeacher]
 @index int
 AS
 SELECT NameGroup FROM dbo.Groups WHERE Teacher = @index

标签: c#winforms

解决方案


如果ComboBoxGroups是 DevExpressDevExpress.Xpf.Editors.ComboBoxEdit控件,您可能应该使用:

ComboBoxGroups.Items.Add(sqlDataReader.GetValue(0).ToString());

并不是:

ComboBoxGroups.Properties.Items.Add(sqlDataReader.GetValue(0).ToString()); 

并且Dispose();“2 form”中的按钮事件处理程序将 Dispose 对话框“2 form”,所以这可能不是一个好主意。


推荐阅读