jsp中類似asp查詢並修改資料的做法

2021-04-02 06:47:03 字數 2645 閱讀 4905

例子:

statement stmt=null;

stmt=con.createstatement(resultset.type_scroll_sensitive,resultset.concur_updatbale);

resultset uprs=stmt.executequery("select username,*** from talbe_name");

uprs.last(); //如果是讀取資料,一定要先呼叫next()方法設定游標位置,

//否則會有「用盡的 resultset」出錯提示

uprs.updatestring(1,"aaa");

uprs.updatestring(2,"男");

uprs.updaterow();

詳解1、建立方法

statement st = conn.createstatement(int resultsettype, int resultsetconcurrency)

resultset rs = st.executequery(sqlstr)

resultsettype 設定游標的狀態

resultset.type_forward_only          只能向前滾動

resultset.type_scroll_sensitive      任意前後滾動,當他人同時操作時,會影響結果集(對於修改不敏感)

resultset.type_scroll_insensitive    任意前後滾動,當他人同時操作時,不會影響結果集(對於修改敏感)

resultsetconcurency 是設定resultset物件能夠修改的,取值如下:

resultset.concur_read_only 設定為唯讀型別的引數。

resultset.concur_updatable 設定為可修改型別的引數。

2、游標移動,資料獲取

在statement不能滾動不能更新的情況下:

boolean next() 游標移至下乙個記錄的位置,如果下乙個記錄不存在,返回false

各種各樣的get***方法,放回相應行的相應資料.

在statement可以滾動的情況下:

boolean first() 游標移至第乙個記錄的位置,如果resultset是空的,返回false

boolean last() 游標移至最後乙個記錄的位置,如果resultset是空的,返回false

boolean isfirst() 如果現在游標在第乙個記錄的位置,返回true

boolean islast() 如果現在游標在最後乙個記錄的位置,返回true

void beforefirst() 游標移至第乙個記錄之前的位置

void afterlast() 游標移至最後乙個記錄之後的位置

boolean isbeforefirst() 如果現在游標在第乙個記錄之前的位置,返回true

boolean isafterlast() 如果現在游標在最後乙個記錄之後的位置,返回true

booleanprevious() 游標移至上乙個記錄的位置,如果上乙個記錄不存在,返回false

int getrow() 獲得游標當前行的號碼,從1開始

boolean absolute(int) 若引數為正,游標移至第引數個記錄的位置上,若為負,移至倒數第引數個記錄的位置上,如果移動之後,游標指向的位置有記錄,返回true.

boolean relative(int) 若引數為政,游標自當前位置向後移動引數個位置,若為負,向前移,如果移動之後,游標指向的位置有記錄,返回true.

在statement可以更新的情況下:

分三種情況.

一:更新一行的記錄

通過next(),previous(),absolute(),relative()等方法將游標移至要更新的記錄的位置

使用各種各樣的update***方法,更新相應型別的資料.

呼叫updaterow()方法,將更新結果更新至資料庫.

在updaterow()之前,可以呼叫cancelrowupdate()撤銷對當前行的修改.

如果不呼叫updaterow(),雖然更新結果不會更新至資料庫,但是resultset中的資料卻被更新了.

二:插入一行記錄

首先,呼叫movetoinsertrow(),將游標移至乙個特殊的插入行位置.

呼叫update***()方法,對插入行各列進行更新.

呼叫insertrow(),將插入行的資料插入資料庫.

呼叫movetocurrentrow(),將游標移**用movetoinsertrow()之前的位置.

三:刪除一行的記錄

將游標移至要刪除的記錄的位置,呼叫deleterow()方法.

修改資料 如何批量修改資料庫中的資料

如何在資料庫中動態刪除和建立資料表 第14講 在已有的資料表中刪除 新增 修改欄位的方法 第21講 根據工作表中的資料,生成資料庫中新的資料表的方法 第22講 向乙個已有的資料表中新增資料記錄的方法 第23講 把工作表中提供的資料在資料表中逐一刪除 可以是重複的記錄 的通用方法 第24講 把工作表中...

mysql中修改資料表的引擎

對於mysql資料庫,如果你要使用事務以及行級鎖就必須使用innodb引擎。如果你要使用全文索引,那必須使用myisam。innodb的實用性,安全性,穩定性更高但是效率比myisam稍差,但是有的功能是myisam沒有的。修改mysql的引擎為innodb,可以使用外來鍵,事務等功能,效能高。檢視...

SQL SERVER中修改資料庫的相容級別

語法alter database database name set compatibility level 引數database name 要修改的資料庫的名稱。compatibility level 要使資料庫與之相容的 sql server 版本。該值必須為下列值之一 sql server 2...