following is only program fragment, original program structure is from sample named Duwamish in ms vs.net 2002.
///////////////////////////////// private const String ID_PARM = "@id"; private const String NAME_PARM = "@name"; public UserData GetUserById(int id) { if ( dataAdapter == null ) { throw new System.ObjectDisposedException( GetType().FullName ); } UserData userData = new UserData(); dataAdapter.SelectCommand = GetUserByIdCommand(); dataAdapter.SelectCommand.Parameters[ID_PARM].Value = id; dataAdapter.Fill(data); return userData; } private SelectCommand GetUserByIdCommand() { if ( getUserCommand == null) { selectUserByIdCommand = new SelectCommand("user_select_by_id", Configuration.ConnectDB()); selectUserByIdCommand.CommandType = CommandType.StoredProcedure; ParameterCollection params = selectUserByIdCommand.Parameters; params.Add(new Parameter(ID_PARM, DbType.Int32)); } return selectUserByIdCommand; } ///////////////////////////////// --------------------------------- CREATE TABLE users ( id serial NOT NULL, name character varying(32) NOT NULL ); --------------------------------- CREATE TYPE user_set AS ( id integer, name character varying(32) ); --------------------------------- CREATE FUNCTION user_select_by_id("@id" int4) RETURNS SETOF user_set AS ' declare rec record; begin for rec in select * from users where id = "@id" loop return next rec; end loop; return; end; ' LANGUAGE plpgsql; --------------------------------- Thanks & Regards! Arnold.Zhu 2004-11-26 ---------------------------(end of broadcast)--------------------------- TIP 2: you can get off all lists at once with the unregister command (send "unregister YourEmailAddressHere" to [EMAIL PROTECTED])