小结

1 datatable.rows[i][j].tostring()的值为空时不能进行副值!
2 (1)当SQL语句很长在换行,加引号和加号的时候,在引号之前别忘记加空格,否则SQL语句的前后字段 

   会拼  接在一起,出错!
  (2)在传参数的时候,可以按照字符串拼接的方法!在用subsonic 的时候,QueryCommand q1 = new   

 QueryCommand(sql, "Supplies"); q1.AddParameter("@biller", biller);直接写就可以了!不需要拼 

 接!  但是=后面可以,而在like‘%后面就不可以,必须进行拼接!!!
3 设置主键后,dt2.PrimaryKey = new DataColumn[] { dt2.Columns[0] };
  用merge()方法合并两个表!dt3.Merge(dt2);
4 给表加行列:datatable.columns.add();       datatable.rows.add();
  (1)    Object[] udt_d = new object[11];
  (2)   datarows dr=new datatable.newrows();
5 在涉及多个表的合并的时候,开始的时候一定要注意列内容和名称的对应!在做多个类似的查询的时候

 ,第一个表的标准行一定要符合全部的要求,检察之后再复制,更改条件做其他表,切记不能全部做完 

  之后再回头更改!工作量会加大N倍!
6 SQL语句处理  (1)过年按月  进行年前 年后两个月的比较问题解决where datepart(month,StockInDate)=
                                     (case when datepart(month,getdate())-1=0 then 12
                                      else datepart(month,getdate())-1 end )and
                                    datepart(year,StockInDate)=(case when datepart(month,getdate())=1 then datepart(year,getdate())-1
                                                                 else  datepart(year,getdate()) end) )                                       
方法二where convert(nvarchar(7),StockInDate,120)=convert(nvarchar(7),dateadd(month,-1,getdate()),120)
(2)空值问题isnull(hh,0)
 select j.ArticlesortName,isnull(f.presumquant,0) as presumquant from
(3)  除数为0问题
(mn.nowsumquant/mn.presumquant) as divsum1,case when mn.presumquant=0 then 0 else mn.nowsumquant/mn.presumquant end as divsum   把结果为0处理
(4)连接问题:左,右,全,内。

posted @ 2007-11-12 12:06  冰峰剑心  阅读(237)  评论(1编辑  收藏  举报