0e03eff84e7f9a780e477585f47b5824527ca18f.svn-base 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. package UIB.JHY;
  2. import java.sql.SQLException;
  3. import java.util.ArrayList;
  4. import CoreFS.SA01.CoreIComponent;
  5. import CoreFS.SA06.CoreReturnObject;
  6. import UIB.COM.XmlSqlParsersFactory;
  7. /**
  8. *
  9. * @desc
  10. * @author meiguiping
  11. * @date 2011 8:29:35 PM
  12. */
  13. public class JHYComSave extends CoreIComponent
  14. {
  15. /**
  16. * @param list
  17. * 用1、 按照SQLID、其它参数顺序放入前台list
  18. * 用2、在ArrayList中加入ArrayList,后者与1相同,可一次执行多条SQL
  19. * @return
  20. * @throws Exception
  21. */
  22. public CoreReturnObject doSimpleSave(ArrayList list) throws Exception
  23. {
  24. CoreReturnObject cro = new CoreReturnObject();
  25. try
  26. {
  27. if(list == null) throw new Exception("错误,参数不允许为null!");
  28. if(list.size() == 0) throw new Exception("错误,没有传入任何参数!");
  29. if(list.get(0) instanceof ArrayList )
  30. {
  31. int len = list.size();
  32. for(int i = 0; i < len ; i++)
  33. {
  34. if(list.get(0) instanceof ArrayList)
  35. {
  36. doSimpleSave((ArrayList)list.get(i));
  37. }
  38. else
  39. {
  40. throw new Exception("参数类型错误,请检查!");
  41. }
  42. }
  43. }
  44. else
  45. {
  46. String sqlID = list.get(0).toString();//传入的第一个参数为SQL的ID
  47. if(list.size() == 1)//无参查询
  48. {
  49. cro = this.ExcuteNoParameter(sqlID);
  50. }
  51. else//带参查询
  52. {
  53. cro = this.ExcuteWithParameter(sqlID, list);
  54. }
  55. }
  56. }catch(Exception ex)
  57. {
  58. System.out.print("保存操作参数错误: "+ex.getMessage());
  59. }
  60. return cro;
  61. }
  62. /**
  63. * @desc 带参数SQL
  64. * @param sqlID
  65. * @param list
  66. * @return
  67. * @throws SQLException
  68. */
  69. private CoreReturnObject ExcuteWithParameter(String sqlID , ArrayList list)throws SQLException
  70. {
  71. CoreReturnObject cro = null;
  72. int len = list.size()-1;
  73. Object[] obj = new Object[len];
  74. //System.out.println("list长度:"+list.size());
  75. for(int i = 0; i < len; i++)
  76. {
  77. obj[i] = list.get(i+1).toString();//第0个参数为SQL语句,SQL语句中的参数需要从第一个开始
  78. }
  79. cro = this.getDao("JhyDao").ExcuteNonQuery(XmlSqlParsersFactory.getSql(sqlID) , obj);
  80. return cro;
  81. }
  82. /**
  83. * @desc 无参数
  84. * @param sqlID
  85. * @return
  86. * @throws SQLException
  87. */
  88. private CoreReturnObject ExcuteNoParameter(String sqlID)throws SQLException
  89. {
  90. CoreReturnObject cro = null;
  91. cro = this.getDao("JhyDao").ExcuteNonQuery(XmlSqlParsersFactory.getSql(sqlID));
  92. return cro;
  93. }
  94. }