日期:2014-05-17  浏览次数:20879 次

问关于datacommandExecute问题
        private void UpadtaJobstatus(string status)
        {
          
            int row_n = jobAnswerViewBindingSource.Position;
            int id;
            jobDataSet.jobAnswerView[row_n].审核状态 = status;
            try
            {
                id=jobDataSet.jobAnswerView[row_n].ID;
                string sqlstring="update jobExpectation set status='"+status+" ' where ID="+id;
                datacommandExecute(sqlstring);
            }
            catch (Exception eMsg)
            {
                MessageBox.Show("写入数据失败!\n" + eMsg.Message);
            }
        }

问下  jobDataSet.jobAnswerView[row_n].审核状态 = status;不是已经把审核状态在数据库里修改了吗?还要下面try里面那句干嘛?  datacommandExecute(sqlstring);具体是什么意思?怎么执行sqlstring?又没写数据库在哪。直接执行语句?
------解决方案--------------------
两点
1、jobDataSet.jobAnswerView[row_n].审核状态 = status;不是已经把审核状态在数据库里修改了吗,这个并没有修改数据库中的值,只是修改了这个对象的属性而已

2、datacommandExecute 这个是自己定义的一个对象,他封装了连接数据库,创建命令对象等操作,你传过去的sql语句这个命令会自己连接数据库并执行sql语句,你可以看下这个函数的定义代码