C++builder的相关电子书都是使用ADO,BDE组件来编写数据库,很显然这是用于教学和演示,不能进行批量生产,一点都不方便。
如果真要进行方便,不如使用powerbuilder这种专业的数据库开发工具。
今天要研究的是:如何快速、批量生产数据库系统
(一)要设计一套通用的SQL语句执行,查询功能
实现powerbuilder中的功能,select a,b,c into :d,:d,:s from tabl1 where id = %d ;
可以参考C语言的printf函数,实现在可变参数的灵活应用,实际应用例子:
int id ;
String name;
int id_no =300 ;
String sql ;
sql = "select id ,name into :d,:s from table1 where id = %d";
db_select(conn,sql.c_str(),&id,&name,51);
name = "%李%";
id = 100;
db_select(conn,"select * from tabl1 where name like '%s' and id>%d",name,id) ;
//在类中的应用
TConnection* cn = new TConnection();
TDateTime birth;
cn->Query("select id,name,birthday into :d,:s,:t From tabl1 where emp_no =%s ",&id,&name,&birth,'1001') ;
(二) 要设计一套方便的数据库显示和操作的自定义组件
TEdit->Dataset = ds1 ;
TEdit->Fieldname = "id" ;
TEdit->FielType = vtInteger ;
TEdit->MaxVale = 100 ;
TEdit->MinVale = 0 ;
TEdit->LookType = datawindow|droplist;
TEdit->LookDataSet = "select id, dmmc from dict where dmid = 10 " ;//生成DataSet
TEdit->DataFileld = "id";
TEdit->DisplayField = "dmmc";
//取值//设值
TEdit->value = 100 ;
(三)要设计一个可以用于拖放操作,自动生成Form代码和数据库操作工具,使用ADOX查询数据库的表字段信息,使用CRectTracker类生成组件拖放工具,