TYPE_SCROLL_SENSITIVE

R

RedGrittyBrick

please look at the doc for ResultSet

http://java.sun.com/j2se/1.4.2/docs/api/java/sql/ResultSet.html#TYPE_SCROLL_SENSITIVE

TYPE_SCROLL_SENSITIVE
public static final int TYPE_SCROLL_SENSITIVEThe constant indicating
the type for a ResultSet object that is scrollable and generally
sensitive to changes made by others.

What it means by "generally sensitive to changes made by others" ? I
don't get this part.

For general questions of this sort, you'll often get an adequate answer
by searching using Google or some other search engine:

http://en.wikipedia.org/wiki/Cursor_(databases)

"Scrollable cursors can potentially access the same row in the result
set multiple times. Thus, data modifications (insert, update, delete
operations) from other transactions could have an impact on the result
set. A cursor can be SENSITIVE or INSENSITIVE to such data
modifications. A sensitive cursor picks up data modifications impacting
the result set of the cursor, and an insensitive cursor does not."


Note that this is really an SQL question, more than a Java question.
Sometimes you'll get more relevant answers to DBMS-specific SQL
questions in an appropriate database newsgroup or forum.
 
G

gk

For general questions of this sort, you'll often get an adequate answer
by searching using Google or some other search engine:

http://en.wikipedia.org/wiki/Cursor_(databases)

"Scrollable cursors can potentially access the same row in the result
set multiple times. Thus, data modifications (insert, update, delete
operations) from other transactions could have an impact on the result
set. A cursor can be SENSITIVE or INSENSITIVE to such data
modifications. A sensitive cursor picks up data modifications impacting
the result set of the cursor, and an insensitive cursor does not."

Note that this is really an SQL question, more than a Java question.
Sometimes you'll get more relevant answers to DBMS-specific SQL
questions in an appropriate database newsgroup or forum.

Thanks . your post was very much helpful.
 
L

Lew

RedGrittyBrick said:
For general questions of this sort, you'll often get an adequate answer
by searching using Google or some other search engine:

http://en.wikipedia.org/wiki/Cursor_(databases)

"Scrollable cursors can potentially access the same row in the result
set multiple times. Thus, data modifications (insert, update, delete
operations) from other transactions could have an impact on the result
set. A cursor can be SENSITIVE or INSENSITIVE to such data
modifications. A sensitive cursor picks up data modifications impacting
the result set of the cursor, and an insensitive cursor does not."

Note that this is really an SQL question, more than a Java question.
Sometimes you'll get more relevant answers to DBMS-specific SQL
questions in an appropriate database newsgroup or forum.

Please do not quote sigs.
Thanks . your post was very much helpful.

Particularly the part where he suggested Google or other search and Wikipedia.
 
A

Arne Vajhøj

However , how does it different from attribute CONCUR_UPDATABLE ?


If we use CONCUR_UPDATABLE as a ResultSet attribute that too also
picks up the updated data ...is not it ? why do we need the
SENSITIVE attribute then ?

I am far from a JBDB expert but I read the docs as:

TYPE_SCROLL_INSENSITIVE - I can scroll forward and backward & I will not
see changes done by others
TYPE_SCROLL_SENSITIVE - I can scroll forward and backward & I will see
changes done by others
CONCUR_READ_ONLY - I can not update the result set
CONCUR_UPDATABLE - I can update the result set

So the difference is between me and other.

Arne
 
G

gk

I am far from a JBDB expert but I read the docs as:

TYPE_SCROLL_INSENSITIVE - I can scroll forward and backward & I will not
see changes done by others
TYPE_SCROLL_SENSITIVE  - I can scroll forward and backward & I will see
changes done by others
CONCUR_READ_ONLY - I can not update the result set
CONCUR_UPDATABLE - I can update the result set

So the difference is between me and other.

What do you mean by update the ResultSet ? we take the results out of
the ResultSet. we do rs.getString("columnName") to extract the
result. We don't update ResultSet really.

I don't understand why you are saying updating ResultSet.

do we do that ever ?
 
J

Jean-Baptiste Nizet

What do you mean by update the ResultSet ?  we take the results out of
the ResultSet. we do rs.getString("columnName") to extract  the
result. We don't  update ResultSet really.

I don't understand why you are saying updating ResultSet.

do we do that ever ?

Why don't you read the javadoc?
http://java.sun.com/javase/6/docs/api/java/sql/ResultSet.html

"A set of updater methods were added to this interface in the JDBC 2.0
API (JavaTM 2 SDK, Standard Edition, version 1.2). The comments
regarding parameters to the getter methods also apply to parameters to
the updater methods.

The updater methods may be used in two ways: [...]"
 
G

gk

What do you mean by update the ResultSet ?  we take the results out of
the ResultSet. we do rs.getString("columnName") to extract  the
result. We don't  update ResultSet really.
I don't understand why you are saying updating ResultSet.
do we do that ever ?

Why don't you read the javadoc?http://java.sun.com/javase/6/docs/api/java/sql/ResultSet.html

"A set of updater methods were added to this interface in the JDBC 2.0
API (JavaTM 2 SDK, Standard Edition, version 1.2). The comments
regarding parameters to the getter methods also apply to parameters to
the updater methods.

The updater methods may be used in two ways: [...]"- Hide quoted text -

Thanks . I have gone through that section . I have found the answer.
This helped me a lot.
 
L

Lew

Unless you want to make updates to the values in the ResultSet, especially
ones that flow through back to the tables.

Sure we do.

Jean-Baptiste Nizet said:
Why don't you read the javadoc?
<http://java.sun.com/javase/6/docs/api/java/sql/ResultSet.html >

"A set of updater methods were added to this interface in the JDBC 2.0
API (JavaTM 2 SDK, Standard Edition, version 1.2). The comments
regarding parameters to the getter methods also apply to parameters to
the updater methods.

The updater methods may be used in two ways: [...]"
Thanks . I have gone through that section . I have found the answer.
This helped me a lot.

It is a very good habit to read the Javadocs. Personally I find reading
Javadocs even for classes/methods with which I'm familiar often reveals new
and useful information.

P.S., attribute your quotes.
 
A

Arne Vajhøj

What do you mean by update the ResultSet ? we take the results out of
the ResultSet. we do rs.getString("columnName") to extract the
result. We don't update ResultSet really.

I don't understand why you are saying updating ResultSet.

do we do that ever ?

The following two methods more or less do the same thing:

private static void update1(Connection con) throws SQLException {
Statement stmt = con.createStatement();
stmt.executeUpdate("UPDATE fun SET txt = 'XX' WHERE id = 2");
stmt.close();
}

private static void update2(Connection con) throws SQLException {
Statement stmt =
con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_UPDATABLE);
ResultSet rs = stmt.executeQuery("SELECT id,txt FROM fun WHERE
id = 2");
rs.next();
rs.updateString(2, "BB");
rs.updateRow();
rs.close();
stmt.close();
}

No - I don't think the construct is much used in Java & JDBC.

But it is used a lot on ASP & ADO.

Someone must have said "so ein ding mussen wir auch haben".

Arne
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,990
Messages
2,570,211
Members
46,796
Latest member
SteveBreed

Latest Threads

Top