一种新的编程思路(中):
一种新的思路(中):
难得糊涂编程法 gbdp (适用(sun企业级应用的首选)、等编程)
gbdp技术实现设想:(general blackbox dynamic programming)
开发速度快、代码量少、通用,表自动生成,记录自动增加,
修改,删除,设计工作量少,可以在需求不明确的情况下开工,
渐进式开发,拥有需求频繁更改、代码基本不动的自适应能力。特
别适合国内软件乱序开发的国情
主要解决问题:
系统设计工作量大,需求更改影响大,项目交接困难,编程风格各
异,数据库备份困难的问题
已经实现功能:
数据表自动生成,记录自动增加,修改,删除,自动文件上传
注:发表后代码//都变成了file:// , 请改正
一个复杂的实现范例:
ntgbdpscript.jsp(sun企业级应用的首选) 自动记录载入模块 (“上”包含源代码)
ntdb.java 数据库存取模块 (本文包含源代码)
ntgbdpdefine.jsp(sun企业级应用的首选)
ntgbdpupload2-1.jsp(sun企业级应用的首选) 自动数据分析处理模块(“上”包含源代码)
ntgbdpupload2-2.jsp(sun企业级应用的首选) 自动数据保存处理模块(“上”包含源代码)
-------------------------------------------------------
_jh_in.jsp(sun企业级应用的首选) 录入和修改页面,涉及计算
<%-- 买入统计卡 --%>
<%@page contenttype="text/html;charset=gbk" %>
<%@page import="java.lang.*,java.net.*,java.sql.*,java.text.*,java.util.*" %>
<%@page import="dba.ntdb" %>
<%@page session="true" %>
<%@page errorpage="error.jsp(sun企业级应用的首选)"%>
<%@include file="ntgbdpdefine.jsp(sun企业级应用的首选)" %>
<%
file://全局变量定义
globaltablename = "_jh_in";
parentkey = "买入外汇统计卡";
parentvalue = "";
dbname = "mydb";
%>
<%@include file="ntgbdpupload2-1.jsp(sun企业级应用的首选)" %>
<% // check data
string errorstring = "";
if( ispost && requestht.get("numeric汇入金额").equals("") )
errorstring = "请填写汇入金额";
else if( ispost && requestht.get("numeric牌价").equals("") )
errorstring = "请填写牌价";
string entpname = (string)requestht.get("全称");
string entpaccount = (string)requestht.get("帐号");
if( entpname == null ) entpname = "";
if( entpaccount == null ) entpaccount = "";
int entpid = 0;
if( !entpname.equals("") || !entpaccount.equals("") )
{
nt.executequery(dbname,
"select pid from _jh where "+
" ( k=企业名称 and v = "+ entpname.trim() +" )"+
" or ( k=帐号 and v = "+ entpaccount.trim() +" )"+
"");
if( nt.rowcount > 0 ){
entpid = integer.parseint( nt.data[0][0] );
requestht.put("企业id",""+ entpid );