I've never tried to use static names for tables, so sorry, I cannot answer
your first question : (

You may return a user DataObject:
     root.getDataObject("User[i]"); // where "i" is a number that defines
the user's position on the users list.

Adriano Crestani

On 1/23/07, Sam Su <[EMAIL PROTECTED]> wrote:

Hi,  I would like to ask a urgent question:
Does Tuscany DAS support returning static DataObject???

/************************************xml config
file*************************************/

<?xml version="1.0" encoding="UTF-8"?><Config
xsi:noNamespaceSchemaLocation="
http:///org.apache.tuscany.das.rdb/config.xsd";
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";>

    <Command name="qryAllUsers" SQL="select
USER_ID,PASSWORD,NAME,AVAILABLE
from CCP_USER" kind="Select"/>
    <Table tableName="CCP_USER" typeName="User">
        <Column columnName="USER_ID" primaryKey="true"/>
        <Column columnName="PASSWORD"/>
        <Column columnName="NAME"/>
        <Column columnName="AVAILABLE"/>
    </Table>
</Config>

/*******************following code can add a new record to database
successfully, 'User' class is static DataObject generated by
XSD2JavaGenerator,  *******/

        User user=(User)LibraryFactory.INSTANCE.createUser();
        user.setUSER_ID("sdo518");
        user.setPASSWORD("88888");
        user.setNAME("wo");
        user.setAVAILABLE("1");
            Connection conn=dataSource.getConnection();
            conn.setAutoCommit(false);
            DAS das=DAS.FACTORY.createDAS(new
ClassPathResource(schemaConfig).getInputStream(),conn);
            Command command=das.createCommand("select * from dual");
            DataObject root=command.executeQuery();
            root.getList(1).add(object);
            das.applyChanges(root);

Quesion:  Must I exeucte a query sql first if I want to add a new record
to
database?  any other way to avoid this?
/************* following code can fetch record from database
successfully**************/

            Connection conn=dataSource.getConnection();
            conn.setAutoCommit(false);
            DAS das=DAS.FACTORY.createDAS(new
ClassPathResource(schemaConfig).getInputStream(),conn);
            Command command=das.getCommand(commandName);
            if(param!=null) command.setParameter(1,param);
            DataObject obj=command.executeQuery();
             List users=root.getList(1);
  for(int i=0;i<users.size();i++){
   DataObject obj=(DataObject)users.get(i);
   System.out.println(obj.get("USER_ID"));

  }

Qestion:  if i change  List users=root.getList(1) to  List users=
root.getList("User");  there is not record in the 'users' list,
                why?
               furthermore, how can I make it return User dataObject, so I
can use user.getUSER_ID() to get the property's value?

Appreciate your help in advance.


Reply via email to