未实现读取数据库,方法或操作时出错

时间:2013-09-10 13:19:13

标签: c# mysql

因此,在我收到studentHelperClass.Form1.cmbBox is inaccessible due to its protection level的错误后,当我通过错误标签启动prorgam Error reading the database, method or operation is not implemented时出现此错误。

这是我的代码:

public partial class Form1 : Form
    {
        MySqlConnection conn; // connection object;
        string connstring = "server=localhost;user Id=root;database=collegesystem;Convert Zero Datetime=True ";

        public Form1()
        {
            InitializeComponent();
            connection();
            selectStudent();
        }


        private void selectStudent()
        {
            try
            {
                studentHelperClass.studentHC.insertMethod();
            }

            catch (Exception err)
            {
                lblInfo.Text = " Error reading the database.";
                lblInfo.Text += err.Message;
            }
        }

这是表单的代码,以下是带有方法的类

class studentHC : Form1
    {
        public studentHC()
        {
            InsertMethod();
        }

        private void InsertMethod()
        {
            MySqlConnection conn; // connection object;
            string connstring = "server=localhost;user Id=root;database=collegesystem;Convert Zero Datetime=True ";
            conn = new MySqlConnection(connstring);
            conn.Open();
            using (var command = new MySqlCommand("SELECT * FROM person", conn))
            {
                using (var myReader = command.ExecuteReader())
                {
                    cmbBox.Items.Add(myReader["personID"]);
                }
            }
        }

        internal static void insertMethod()
        {
            throw new NotImplementedException();
        }
    }

非常感谢任何输入

编辑:

好的,所以我摆脱了

internal static void insertMethod()
{
    throw new NotImplementedException();
}

我改变了

public studentHC()
{
    InsertMethod();
}

private void InsertMethod()

public studentHC()
{
    insertMethod();
}

private void insertMethod()

现在它说studentHelperClass.studentHC.insertMethod()' is inaccessible due to its protection level

3 个答案:

答案 0 :(得分:2)

您的insertMethod会抛出此异常。只要查看它的代码,就会抛出一个NotImplementedException ...

如何解决这个问题,我不能告诉你,因为我真的不确定你的班级结构......

一种可能性就是将代码从InsertMethod移动到insertMethod

答案 1 :(得分:1)

用这个替换你的studentHC课程

class studentHC : Form1
    {
        public studentHC()
        {
            InsertMethod();
        }

        public static void InsertMethod()
        {
            MySqlConnection conn; // connection object;
            string connstring = "server=localhost;user Id=root;database=collegesystem;Convert Zero Datetime=True ";
            conn = new MySqlConnection(connstring);
            conn.Open();
            using (var command = new MySqlCommand("SELECT * FROM person", conn))
            {
                using (var myReader = command.ExecuteReader())
                {
                    cmbBox.Items.Add(myReader["personID"]);
                }
            }
        }

    }

然后替换

studentHelperClass.studentHC.insertMethod();

使用

studentHelperClass.studentHC.InsertMethod();

答案 2 :(得分:0)

在Form1的构造函数中,调用selectStudent调用insertMethod。但是这种方法还没有实现。你必须在调用之前实现它。还有另一种方法具有相同的名称,但大写的第一个字母。我认为你把你的代码放错了地方。

将(大写)InsertMethod中的所有代码放入(小写)insertMethod中。这应该可以解决当前的问题。