SQL数据库自动刷新

mznxbc123456 2014-03-10 10:08:30
各位大侠,我有个问题请教大家。我先运行我的应用程序,程序中连接数据库,查找数据,显示数据,这个时候我的数据库数据被修改了,被窝手动修改了,我再查找相同的数据,但这个时候没有显示我修改后的数据,而是显示之前的数据。这是不是因为我没关应用程序的缘故?但只要我修改了数据之后再在数据库里点击刷新,显示的数据就是修改后的数据。我想在我的代码里查找数据的时候都能通过代码来更新我的数据库,我该怎么处理呢?
...全文
614 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
墨蓝的星空 2015-10-27
  • 打赏
  • 举报
回复
package com.riley;
import java.awt.Color;
import java.awt.Container;
import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.WindowConstants;
class MyJDialog extends JDialog{
	public MyJDialog(AbsolutePosition ff){//构造函数
		super(ff,"窗体的题目",true);
		Container con=getContentPane();
		con.add(new JLabel("HHHH"));
	}
}
public class AbsolutePosition extends JFrame {
	public AbsolutePosition(){//无参构造函数
	    	setTitle("绝对布局");
	    	JLabel jl=new JLabel("这是一个标签");
	    	setLayout(null);
	    	setSize(600,600);
	    	Container c= getContentPane();
	    	c.setBackground(Color.LIGHT_GRAY);
	    	JButton b1=new JButton("按钮1");
	    	JButton b2=new JButton("按钮2");
	    	b1.setBounds(10, 30, 80, 30);
	    	b2.setBounds(60, 70, 80, 30);
	    	c.add(b1);
	    	c.add(b2);
	    	setVisible(true);
	    	setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
	}
	public static void main(String[] args) {
		// TODO 自动生成的方法存根
		AbsolutePosition ab=new AbsolutePosition();
        new MyJDialog(ab);
	}
}

hard_learner 2014-03-10
  • 打赏
  • 举报
回复
每次查询都重新连接一次数据库
稻庄 2014-03-10
  • 打赏
  • 举报
回复

 conn = new SqlConnection("");
              conn.Open();
              string updateCodeEx = string.Empty;
              updateCodeEx = "";
              SqlCommand updateCodeExCom = new SqlCommand(updateCodeEx, conn);
              updateCodeExCom.ExecuteNonQuery();
//这样不能实现你的需求麽?
如果你想在更新数据库后进行刷新,那就再更新后面再执行一次select呗,然后绑定在相关控件上
mznxbc123456 2014-03-10
  • 打赏
  • 举报
回复
引用 8 楼 foreverwoyou 的回复:
没听清楚楼主的意思。 你是想修改数据库里面的记录后将更新后的记录刷新显示在dataGridview此类的控件上还是?
你可以这样理解,但是我发现在代码运行起来之后我手动修改数据库,修改了一个数据必须刷新一下数据库或者点一下库里的数据才能真正写进数据库~现在希望不要手动刷新或者点一下属性而是通过代码去处理~
稻庄 2014-03-10
  • 打赏
  • 举报
回复
没听清楚楼主的意思。 你是想修改数据库里面的记录后将更新后的记录刷新显示在dataGridview此类的控件上还是?
mznxbc123456 2014-03-10
  • 打赏
  • 举报
回复
引用 5 楼 liuchaolin 的回复:
现学现卖,用sp1234的方法 http://bbs.csdn.net/topics/390726614?page=1#post-396902816 SqlDependency的应用 http://www.cnblogs.com/yjmyzz/archive/2009/06/14/1502921.html
这个方法不行的~我试过
q107770540 2014-03-10
  • 打赏
  • 举报
回复
要么用using(MySqlConnection myConnection = new MySqlConnection()) 要么在try.catch后加上finally来手动release sqlconnection
md5e 2014-03-10
  • 打赏
  • 举报
回复
现学现卖,用sp1234的方法 http://bbs.csdn.net/topics/390726614?page=1#post-396902816 SqlDependency的应用 http://www.cnblogs.com/yjmyzz/archive/2009/06/14/1502921.html
mznxbc123456 2014-03-10
  • 打赏
  • 举报
回复
引用 2 楼 liuchaolin 的回复:
你在数据库管理器中直接打开表进行修改,需要你的鼠标焦点离开当前记录,数据库才会进行保存,你可以尝试进行用SQL命令进行修改
是的啊!我发现了。但后续我的数据库修改是通过串口来修改的,不再是手动操作。我希望能在我查找数据的时候通过代码来刷新我的数据库
mznxbc123456 2014-03-10
  • 打赏
  • 举报
回复
引用 1 楼 q107770540 的回复:
你是怎么查询数据的
public int GetDbData(string name)
        {
            int dataValue = 0;
            MySqlConnection myConnection = new MySqlConnection();
            myConnection.ConnectionString = ContString;

            try
            {
                myConnection.Open();
                MySqlCommand myCommand = myConnection.CreateCommand();
                if (name != null)
                {
                    myCommand.CommandText = "SELECT * FROM warnTable WHERE NAME='" + name + "'";
                    //判断是否查找成功
                    MySqlDataReader getValue = myCommand.ExecuteReader();
                    if (getValue.Read())
                    {
                        dataValue = Convert.ToInt32(getValue["value"].ToString().Trim());
                    }
                }
                else
                {
                    throw new Exception("DeHelper GetDbData Error");
                }
            }
            catch
            {
                throw new Exception("DeHelper GetDbData Error Open");
            }

            myConnection.Close();
            return dataValue;
        }
这是我取数据的代码,我程序设计每500毫秒取一次数据
md5e 2014-03-10
  • 打赏
  • 举报
回复
你在数据库管理器中直接打开表进行修改,需要你的鼠标焦点离开当前记录,数据库才会进行保存,你可以尝试进行用SQL命令进行修改
q107770540 2014-03-10
  • 打赏
  • 举报
回复
你是怎么查询数据的

110,537

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧