12 1 28進步一小點

2021-06-03 10:12:55 字數 1513 閱讀 6554

1,關於資料庫的操作

在j2se,連線資料庫中 有個statement類 通過產生該類的物件,我們可以進而執行相應的sql語句

一般我們如果要進行增加一條語句到table中,例如string sql="insert into pet values(nameid,***,owner)";

這裡的nameid,***,owner均是我們自己從其他地方動態獲取的資料,

例如stmt.executeupdate(sql)是絕對出問題的,因為我們的sql裡面的格式嚴重有問題,必須要自己利用+配合 新增相應的' ' 這種單引號,否則傳進去語法報錯。

這裡我們引入statement的子類,preparedstatement;,再進行相應的資料庫操作就變的簡單一點

**如下:pstmt=conn.preparedstatement("insert into pet values (?,?,?)");//裡面就是我們的sql語句

pstmt.setint(1,nameid);//設定第乙個問號為int  其值為nameid

pstmt.setstring(2,***);

pstmt.setstring(3,owner);

pstmt.executeupdate();

這樣就避免了我的sql字串中的單引號的,之類的很繁瑣的操作

2關於資料庫中的transaction

在關於sql語句執行的過程中,肯定會遇到  乙個資料從乙個表提取出來,在存在另乙個表中,這裡需要保持他們的一致性,我們稱為transaction

一旦其中某個操作有問題,則不會進行下個操作。這樣就是成功操作的前提的兩個操作必須都是成功操作

而我們在jdbc中如何用**實現:在他的**中有個方法setautocommit(true)是自動commit,為此我們必須認為的設定為false, 等我們的sql語句就位後 集中提交,一旦出現exception方便處理。

**如下:cnn.setautocommit(false);

stmt=cnn.createstatement();

stmt.addbatch(sql);

stmt.addbatch(sql);

stmt.executebatch();

cnn.commit();

cnn.setautocommit(true);

通過上面的操作,我們人工的集中commit(),然後給jdbc復原他本什麼的自動提交策略。

在集中提交過程中,一旦出現任何異常,try

}catch(sqlexception e1)

3關於點取資料庫的某條記錄,在傳統的resultset 中,我們一般呼叫next()方法,從上到下逐條提取。

這裡,我們通過在stmt=conn.createstatement(resultset.type_scroll_insensitive,resultset.concur_read_only);

第乙個引數是對滾動不敏感,第二個引數是併發的時候 唯讀。

rs=stmt.executequery(sql);  通過設定好了語句物件,在結果集中可以秒取任意行記錄了。

12 1 19進步一小點

1,關於html的一些基礎知識 在表單中,action的值代表伺服器的哪個程式接受你的資訊,而method則是客戶端是通過什麼方式提交的,一般有get,post get則是一般當我們提交的時候,所寫的內容會跟在url後面,有兩個缺點 一是不安全,二是有長度限制 post則相對克服了上面的兩個缺點 2...

天天練習程式設計,每天進步一小點。

1 給定兩個整形變數的值,將兩個值的內容進行交換。define crt secure no warnings include include int main 2.不允許建立臨時變數,交換兩個數的內容。define crt secure no warnings include include int...

IT菜鳥的一小點感想

最近在整專案中的聯合登陸,給了我不小的感觸。看文件,理解需求,弄明白介面需要什麼樣的,什麼型別的引數。要善於和對接人員的進行溝通,遇到問題及時反饋等。這些是應該做的。我呢?文件我看了,不過不是全部,只看了需要用到的地方,對於需求的理解不是很深刻,一些需求是按照自己的想法來弄的,所以在上線前的最後一次...