The test
"org.apache.tuscany.das.rdb.test.TopDown.testUserProvidedModelDynamic()"
demonstrates the use of generated SDOs with the DAS.
Adriano Crestani wrote:
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.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]