dOOdad提供的数据绑定、特殊函数和事务处理
时间:2009-6-2 10:09:57 作者: 来源:
 

1.  数据绑定:
   (1)绑定到datagrid(webapp)

if(emps.loadall())
{
     dvemps 
= emps.defaultview;
     dgemps.datasource 
= dvemps;
     dgemps.databind();
}

  (2)绑定到combobox(winapp)

//get data
emps.query.addresultcolumn(employees.columnnames.employeeid);
emps.query.addresultcolumn(employees.columnnames.lastname);
emps.query.addorderby(employees.columnnames.lastname,
whereparameter.dir.asc);
emps.query.load();
//bind to combobox
cmbemployees.displaymember = employees.columnnames.lastname;
cmbemployees.valuemember 
= employees.columnnames.employeeid;
cmbemployees.datasource 
= emps.defaultview;


  (3)绑定到dropdownlist(webapp)

 //get data
 emps.query.addresultcolumn(employees.columnnames.employeeid);
 emps.query.addresultcolumn(employees.columnnames.lastname);
 emps.query.addorderby(employees.columnnames.lastname,
 whereparameter.dir.asc);
 emps.query.load();
 
//bind to drop-down list
 ddlemployees.datasource = emps.defaultview;
 ddlemployees.datatextfield 
= employees.columnnames.lastname;
 ddlemployees.datavaluefield 
= employees.columnnames.employeeid;
 ddlemployees.databind();

 

 

2.  特殊函数:执行自定义存储过程和sql语句

examples:
(1)loadfromsql:(从数据库中检索并返回检索结果集,查询结果保存到datatable中)

listdictionary parm= new listdictionary();
parms.add(
"@parametername1", value1);
parms.add(
"@parametername2", value2);
parms.add……
if(this.loadfromsql("proc_getspecialemployee", parms))
{
  ...
}


(2)loadfromsqlnoexec:(执行无结果集的存储过程,返回受影响的行数)
        int nbrofchecks = this.loadfromsqlnoexec("proc_calculatepayroll");
        例如:删除一条记录,doodad提供的文档中的方法是:先loadbyprimarykey,再markasdeleted,最后再save进数据库;这个过程要对数据库进行两次操作。实际上,我们可以只操作一次数据库(直接用doodads模板生成的存储过程),而不用先load。
 listdictionary parms = new listdictionary();
 parms.add("@id", empid);
 int effectline = this.loadfromsqlnoexec("proc_employeedelete",parms);

(3)loadfromsqlreader:(返回sqldatareader)
 sqldatareader rdr = this.loadfromsqlreader("proc_getspecialemployee", parms) as sqldatareader;

(4)loadfromsqlscalar:(返回单个值)
 datetime earliesthiredate;
 listdictionary parms = new listdictionary();
 parms.add("@active", 1);
 earliesthiredate = convert.todatetime(this.loadfromsqlscalar("getearliesthiredate",parms));

(5)loadfromrawsql:
 this.loadfromrawsql("select min(em_hiredate) from temployees

[1] [2] 下一页

where em_active = {0}","1");

 

3.  事务处理:

transactionmgr tx = transactionmgr.threadtransactionmgr();
try
{
    employees emps 
= new employees();
    emps.addnew();
    emps.firstname 
= "jimmy";
    emps.lastname 
= "doe";
    products prds 
= new products();
    prds.addnew();
    prds.productname 
= " lunch box ";
    prds.discontinued 
= false;
    tx.begintransaction();
    emps.save();
    prds.save();
    tx.committransaction();
}

catch(exception ex)
{
    tx.rollbacktransaction();
    transactionmgr.threadtransactionmgrreset();
}

上一页  [1] [2] 

上一篇:
下一篇:
 
网页模板 网站模板 网站建设 网页设计 网页设计师兼职 自助建站 ...
网站魔坊,网页模板,网站模板,免费网页模板,在线模板设计,免费建站,门户网站搭建,建站,企业网站,奇思网络,奇思,智能建站,自助建站,拖动建站,网站建设,网页设计,在线设计模板
www.wzmof.com/ 47K 2009-5-21
 
商巢...
商巢是一个真实的商业交友社区、为用户提供交友、贸易、社区、建站等服务;临渊慕鱼,不如退而结网!商巢结网行动
www.ncooo.com/ 47K 2009-5-21
 
商巢创业 门户创业 商人网络家园 魔坊建站 商业交友
商巢下的门户,门户又一独立实体与商巢合作,由商巢负责技术的更新以及硬件的支持,门户负责自己领域的市场推广以及相应的售后服务即可。 打破以往门户需要源源不断的技术、硬件投入模式,盈利模式清晰 行业门户以及门户下企业网站由网站魔坊...
mhcy.ncooo.com/ 36K 2009-5-14
 
奇思网络技术 网站建设 深圳网站建设
中小外贸企业做电子商务,需要从两点技术突围 08-01 企业网站建设 提供网站策划、网站建设、数据库开发至网络营销全套解决方案。能针对客户所处行业,结合营销特征量身订做高质量网站建设方案。 网站推广 怎样使网站的投资得到回报?这需要经验...
www.qsnet.com.cn/ 48K 2009-4-2
 
深圳艺术网
深圳艺术网,中国艺术网,中国当代艺术网,广东当代艺术网,广东艺术网,南方当代艺术网,深圳美术网,深港美术网,深港艺术网,深港当代艺术网,杜应红,深圳当代艺术创作库,深圳创库,深圳美术,深圳艺术,深圳收藏,深圳艺术收藏,深圳音乐网,深圳舞蹈...
www.szarts.cn/ 119K 2009-6-9
 
网页设计也通过人脉赚钱-技术传播
 
网页设计114 -打造中国网页设计、网站建设技术信息学习、交流、互动平台
                         打造网页设计师兼职创业平台中心