工作中遭遇的问题及解决办法

85 对编辑框控件进行排序
 ctrl+D 依次点击排序

84 放到数组里或者hashmap里,循环比较;
   或者在任意值修改过的记个变量m_bEidt;
   也可以定义个结构体,把结构比较的单写个函数;

83 VC编辑框控件变量和String类型的变量有什么不同?
Value:值,变量的类型是值(字符串),那么用UpdateData(true)就可以得到EDIT里面的值
Control:控件,可以对其进行操作,如获取EDIT里面的资料可用   m_edit.GetDlgItemText(),
 


82 SQL中数字直接转成varchar到程序就不会变了
cast(a.系数 as varchar(10))

81 cast(生产周期 as nvarchar(50))

80 学生表(学号,姓名)
成绩表(课程名,学号,成绩)
编写SQL语句,查询每门课程的最高成绩,要求输出列为(课程名,学号,姓名,成绩)
 select 课程名,学号,姓名,成绩 from 成绩表 join 学生表 on 成绩表.学号=学生表.学号  group by 成绩表.课程名
 select 课程名,学号,姓名,max(成绩) from 成绩表 join 学生表 on 成绩表.学号=学生表.学号  group by  学生表.学号,学生表.姓名,成绩表.课程名
 select a.* from 成绩表 a where exists(select 1 from (select max([成绩]) as 成绩,[科目] from 成绩表 group by [成绩],[科目])b
 where a.[科目]=b.[科目] and a.[成绩]=b.[成绩])

79    select @Wait=COUNT(1) from BZ_预先发布表_在线 (nolock) where  处理状态='未处理'
   if(@@RowCount<>1 or @@error <> 0)
@@RowCount
就是最近一次查询 影响的行数
是个数据库的全局变量

78 一般多重循环用goto效率高
for(int i..)
{
   for(int j..)
   {
      if(..) goto exit;
    }
}
exit: ...


77 定义了标签+冒号 比如
a1: int a=0;
然后程序其他地方就可以 goto a1;


76  Update BZ_文章信息表 set 预先出版=COALESCE(预先出版,发布时间,@dtCutTime) where 文章编号=@Sn
 COALESCE ( expression [ ,...n ] )
 expression任何类型的表达式。   
 n表示可以指定多个表达式的占位符。
所有表达式必须是相同类型,或者可以隐性转换为相同的类型。
将相同的值作为 expression 返回。返回表达式中第一个非空表达式,
如有以下语句:
SELECT COALESCE(NULL,NULL,3,4,5) FROM dual   其返回结果为:3

75    INSERT INTO BZ_预先发布表_历史(序号, 任务性质, 报纸编号, 文章编号, 到岗时间, 制作方式, 机器人, 处理次数, 优先级, 开始时间, 提交时间, 加工说明, 加工备注, 来源岗位)
   select 序号, 任务性质, 报纸编号, 文章编号, 到岗时间, 制作方式, 机器人, 处理次数, 优先级, 开始时间, @dtCutTime, null, 加工备注, 来源岗位
   from BZ_预先发布表_在线  where 文章编号
=@Sn and 到岗时间=@Time

74 C# Replace 用法
stringObj.replace("aa","bb")
把stringObj中的aa替换为bb
这样的问题最好自己查阅MSDN,要学会自己学习

73 nodeField.SetAttribute("en","Y");
setAttribute是在某种缓存范围中设置具体的属性,底层原理是在四类Map中插入键值对关系。首先获取要插入数据的范围,例如request或者1楼哥们所说的session,当然还有其他两种。然后用setAttribute(attributeName,attributeValue);的格式插入数据,第一个参数是属性名,字符串类型的数据。,也是以后获取的依据条件,第二个是插入的数据,支持对象属性。获取时用getAttribute("attributeName")就行了。

72
   1    nPost=strValue.IndexOf("〖TP");
            if (nPost >= 0)
                return nPost;
            nPost = strValue.IndexOf("[tp");
        return nPost;
   2 int nPost = strValue.IndexOf("【TP");
return nPost >= 0 ? nPost : strValue.IndexOf("[tp");


71 删除combox下拉重复项
 int nIndex = m_comboType.FindString(1,"漏标");
 if (nIndex >= 0)
 {
  m_comboType.DeleteString(nIndex);
 } 

70 切图扫图 的来源岗位理论上只能是 '编辑选编'或'选编标引',取最后一条这两岗位的记录自然就是来源岗位.
   特殊情况下比如手工改的数据,没经过这两岗位
   select top 1 岗位名称 from BZ_加工历史表  with(nolock)  where 报纸   编号='TSSB20121218' and 岗位名称
   in ('编辑选编', '选编标引') order  by  到岗时间 desc

69 Update…From(很不幸,Sqlite是不支持的)
update  BZ_报纸登记表 with(rowlock)  set  编辑人员=RY_雇员检查视图.雇员账号,标引人=RY_雇员检查视图.姓名 from
RY_雇员检查视图
 where RY_雇员检查视图.岗位名称='编辑选编' and  BZ_报纸登记表.报纸编号='%s'  and 
RY_雇员检查视图.姓名='%s' ", strSn, strMan

68 NOLOCK可以忽略锁,直接从数据库读取数据。这意味着可以避开锁,从而提高性能和扩展性。但同时也意味着代码出错的可能性存在。你可能会读取到运行事务正在处理的无须验证的未递交数据。 这种风险可以量化。

67 ACM竞赛题

你可能感兴趣的:(MFC,MFC,C++,电脑硬件)