C#数据库操作问题小白一枚 40C

取textbox里面八种设定的值,对比QGLGame数据库Character表里对应的字段值,任意一种字段如果超过设定值。则取对应数据的acct_id字段的值,到另一个QGLAccount数据库里Account表bantime字段写入2000-12-12 12:12:12 每五分钟循环监控一次上面过程!求大神帮忙谢谢了!!

        private void button1_Click(object sender, EventArgs e)//开始网关
    {
        {
            SqlConnection conn;
            string SqlStr = ConfigurationManager.ConnectionStrings["SqlConnString"].ConnectionString;
            conn = new SqlConnection(SqlStr);//实例化SqlConnection数据库连接对象
            conn.Open();//打开数据库连接
            if (conn.State == ConnectionState.Open)//判断连接是否打开
            {
             label1.Text = "网关运行状态:已启动";

            }

        }

图片说明
图片说明
图片说明
图片说明

3个回答

不知道你说的设定值、取acc_id这些是什么意思,怎么取。和谁判断。
但是你说5分钟,这个可以用定时器实现,而抛开业务逻辑不谈,数据库的操作无非就是增加、删除、修改、查询4种,代码网上都有,至于业务逻辑,你应该自己去梳理下。

1.定时对比QGLGame数据库Character表里对应的字段值,方法如下
http://www.wobiji.net/Article/Detail/159

2.写两个链接字符串,
string QGLGameSqlStr = ConfigurationManager.ConnectionStrings["QGLGameSqlConnString1"].ConnectionString;
string QGLAccountSqlStr = ConfigurationManager.ConnectionStrings["QGLAccountSqlConnString2"].ConnectionString;
分别用于获取比对的数据和写入Account表的数据。

如果你的表述没错的话,我的理解如下:
根据需求来说,你是要循环来做一件有内部判断条件的事情,那么,
1.首先,你得需要一个定时服务,来达到循环的目的;
(备注:可以通过代码线程来实现,常用的如winform里面有个timer控件,设定时间间隔即可。另外就是可以采用数据库里面直接定时执行一个存储过程)
2.其次,你需要封装一个代码方法或者存储过程,传入参数是你界面文本框的值,内部执行方法就是根据你的要求,将其和特定表的特定字段进行比对,
符合要求的,执行新增或修改方法。
(备注:根据你的需求,建议采用存储过程模式来判断,避免重复访问数据库的问题,提高性能)

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问