File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
The moose likes Developer Certification (SCJD/OCMJD) and the fly likes B&S: Quesion about RecNo Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Certification » Developer Certification (SCJD/OCMJD)
Bookmark "B&S: Quesion about RecNo" Watch "B&S: Quesion about RecNo" New topic

B&S: Quesion about RecNo

Vaishali Paramane
Ranch Hand

Joined: Mar 05, 2007
Posts: 107
My interface is

package suncertify.db;
public interface DBMain {
// Reads a record from the file. Returns an array where
//each element is a record value.
public String [] read(int recNo) throws RecordNotFoundException;
// Modifies the fields of a record. The new value for field n
// appears in data[n].
public void update(int recNo, String [] data)
throws RecordNotFoundException;
// Deletes a record, making the record number and associated disk
// storage available for reuse.
public void delete(int recNo) throws RecordNotFoundException;
// Returns an array of record numbers that match the specified
// criteria. Field n in the database file is described by
// criteria[n]. A null value in criteria[n] matches any field
// value. A non-null value in criteria[n] matches any field
// value that begins with criteria[n]. (For example, "Fred"
// matches "Fred" or "Freddy".)
public int [] find(String [] criteria) throws RecordNotFoundException;
// Creates a new record in the database (possibly reusing a
// deleted entry). Inserts the given data, and returns the record
// number of the new record.
public int create(String [] data) throws DuplicateKeyException;
// Locks a record so that it can only be updated or deleted by this client.
// If the specified record is already locked, the current thread gives up
// the CPU and consumes no CPU cycles until the record is unlocked.
public void lock(int recNo) throws RecordNotFoundException;
// Releases the lock on a record.
public void unlock(int recNo) throws RecordNotFoundException;
// Determines if a record is currenly locked. Returns true if the
// record is locked, false otherwise.
public boolean isLocked(int recNo) throws RecordNotFoundException;

My database is not contain any record number field. It has only following field


Then how can I use recNo for update and create?

Preparing for SCWCD
Mark Ebeling
Ranch Hand

Joined: Jul 06, 2007
Posts: 38
When you read the file into your program, assign logical record numbers ( I use 0 indexed records). I believe there are plenty posts on this topic. Search on recNo and B&S.

Good luck.

GREAT DAY TO BE ALIVE - Beats the alternative!<br />
SCJP 5.0
Andre Bandarra

Joined: Jun 07, 2005
Posts: 17
I treat record numbers as the records index on the data file. For example:
the first record in the file is recNo 0, the second is recNo 1, the third is recNo 2 and so on...

mohamed sulibi
Ranch Hand

Joined: Sep 04, 2005
Posts: 169

do you sure that your instruction don't contain something that ... 2 byte falg . 00 implies valid record, 0x8000 implies deleted record !

best regards.
SCJP, SCJD ( in progress ... ).
Vaishali Paramane
Ranch Hand

Joined: Mar 05, 2007
Posts: 107
yes in may instruction contain that 2 byte flag.
I had problem how to maintain that database using record number.
because if some one update the record and other one also trying to update same record then how can understat second one client updating same(correct) record or not.

may b i am asking stuppid quesion .

thanks for reply
I agree. Here's the link:
subject: B&S: Quesion about RecNo
It's not a secret anymore!