尝试读取或写入受保护的内存。这通常指示其他内存已损坏

时间:2022-01-31 01:01:02
 private void Land_Click(object sender, EventArgs e)
        {            
            string user = username.Text.ToString();
            string pwd = password.Text.ToString();
            string sql_str = "select * from noteuser where username='" + user + "'";
            OleDbConnection conn = new OleDbConnection(connstring);
            conn.Open();
            OleDbCommand comm = new OleDbCommand(sql_str, conn);
            OleDbDataReader red = comm.ExecuteReader();
           
            if (!red.Read())
            {
                username.Text = "";
                password.Text = "";

                MessageBox.Show("没有此用户!");
            }
            else if (pwd != string.Format("{0}", red[2]))
            {
                password.Text = "";
                MessageBox.Show("密码错误!");
            }
            else
            {
                NOTElnfo info = new NOTElnfo();
                this.Hide();
                 info.Show();                //Application.Exit();
            }
             conn.Close();
            
        }

调试的时候,运行上面的按钮事件,发生这样的错误“尝试读取或写入受保护的内存。这通常指示其他内存已损坏。”不知道是哪里错了,请各位大神帮帮忙.....如有必要加Q522066538,分数大大滴给

5 个解决方案

#1


NOTElnfo info = new NOTElnfo();

你确定是这段代码的窗体发生的错误?
感觉像NOTEInfo这个窗体里发生的错误。

#2


NOTEInfo的问题.
看看是否使用皮肤的同时又加载了一个非正方形的Icon图标

#3


这个问题google上一艘一大把,但是没人会给你准确的回答,因为产生这样的问题原因多种多样。前段时间我也遇到。
严格说我没遇到,在本机上好好的。把项目发给别人,就出了这样的错误。最后是因为对方的装的是.net 4.5 ,默认数据库连接时出现问题。最终的解决方法是修改默认winsock配置,运行cmd,然后键入netsh winsock reset解决。
但这不代表这个你的问题也是这样,可以去搜搜,看看有没有和你情况类似的

#4


直觉告诉我 就是这里的问题。



      else
            {
                NOTElnfo info = new NOTElnfo();
                this.Hide();
                info.Show();                //Application.Exit();
            }

#5


该结贴了,是我的错,这个问题是因为组件出错了,导致资源无法释放才造成的,已经解决了,谢谢各位!

#1


NOTElnfo info = new NOTElnfo();

你确定是这段代码的窗体发生的错误?
感觉像NOTEInfo这个窗体里发生的错误。

#2


NOTEInfo的问题.
看看是否使用皮肤的同时又加载了一个非正方形的Icon图标

#3


这个问题google上一艘一大把,但是没人会给你准确的回答,因为产生这样的问题原因多种多样。前段时间我也遇到。
严格说我没遇到,在本机上好好的。把项目发给别人,就出了这样的错误。最后是因为对方的装的是.net 4.5 ,默认数据库连接时出现问题。最终的解决方法是修改默认winsock配置,运行cmd,然后键入netsh winsock reset解决。
但这不代表这个你的问题也是这样,可以去搜搜,看看有没有和你情况类似的

#4


直觉告诉我 就是这里的问题。



      else
            {
                NOTElnfo info = new NOTElnfo();
                this.Hide();
                info.Show();                //Application.Exit();
            }

#5


该结贴了,是我的错,这个问题是因为组件出错了,导致资源无法释放才造成的,已经解决了,谢谢各位!