在開發ajax程序的時候,如何方便地進行數據庫操作

如題,每次要跟數據庫的數據操作的時候,就要寫一大堆代碼,有無現成的工具可以簡化一下???各種數據庫都提提吧,mssql、oracle

1、把要操作的東西都寫成存儲過程和函數
2、把常用的CUID都封裝起來。很多語言都已經做了~~~!

那個不是ajax的啊,比如說我要從數據庫裏讀取一個表格,再把表格裏的數據在網頁上展示出來,如果我用.net裏面的現成的組件當然好辦,之前用extjs發現這樣要寫非常非常多的代碼,需要我一步一步寫好,把哪個數據放在哪裏,太吃力了。如果再有把這些數據修改、刪除、增加什麼的,那更加麻煩,代碼也不好維護。

嗯,應該不是刪除信息,而是選擇了大於某個ID值的信息,但是問題來了,如果關閉了網頁,如何知道我最後一次訪問的ID值呢?

那麼如何能獲知當用戶關閉瀏覽器後最後獲取的ID值?

標識到的id就是最後的ID。下次訪問的時候,哪怕你看到的信息(通訊效果極其不好的時候)他也會返回給你的。騰訊的QQ也有這樣的問題,我老婆用QQ,有段時間我們用的網不好,經常看到他回饋明明收到的信息
相互之間的通信必然每次都會傳遞一個標識數據,來表明服務器或客戶端當前的狀態~

客戶端收到數據之後,我們完全可以與此同時返回一條信息過去,表示收到呢~~
也就是說可能會返回一條信息,告訴服務器端,我最後收到的ID是多少,然後下次再根據這個ID來進行消息的發送?

具體的實現我覺得完全是看機制的選擇。
下次不是根據這個ID來進行消息發送
而是再次發送請求的時候附加最後一個ID(可能是多個瀏覽器)

嗯,這種機制應該是比較合適的,估計聊天記錄也不會保存太久,像WEB聊天記錄基本上都是不保存的

突然發現有個問題並沒有說清楚,就是當我開了多個瀏覽器窗口,如何實現每個窗口裏的聊天數據都是同步的?畢竟時間總是有先有後的,如何能保證最後的ID值能夠正確傳輸?寫COOKIE?

下次不是根據這個ID來進行消息發送
而是再次發送請求的時候附加最後一個ID(可能是多個瀏覽器)

多個瀏覽器估計需要用COOKIE來保存ID值,還有更好的方法嗎?

爲什麼要這樣保存ID值呢。打開的一個頁面就代表一個客戶端。
那麼每個客戶端於服務器的請求都是獨立的~(哪怕是隱藏控件也沒問題啊)
關鍵問題在於,如何能保證各個瀏覽器窗口的ID值同步?

校內的WEBIM每個瀏覽器窗口接收消息都是同步的,不會出現某一個窗口多了或者是少了記錄

每個窗口都會請求server對吧
server的數據的確定的對吧
窗口發任何一個ID,返回的數據都是從ID到最新的數據對吧
那麼窗口不就同步了嗎

也就是說其中某一個窗口的ID如果大了或者是小了(因爲時間有先後),通過數據的一些發送,基本上能保持一致

再請教一下,每個瀏覽器窗口初始化時,應該先是從例如FLASH推送數據來生確保下次客戶端請求時能夠發送正確的ID值吧?那麼,服務器端肯定需要保存最後一次交互的ID
服務器不需要保存最後一次交互的ID
但是數據裏有tag,確定接受的數據下次打開時不發送,否則都發到前臺去(即使上次發送了,但是沒有客戶端反饋確認)。每次客戶端發送的時候都會發一個ID,服務器根據這個ID來進行交互

暈,又糊塗了,這樣的話,和接收刪除消息沒有什麼區別了啊,當打開多個瀏覽器窗口時,汗

1、服務器無論如何不會徹底刪除數據的,tag = isRead,isDelete==
2、多個窗口同時進行時 第一次加載頁面的時候是根據tag = unread的來接受數據
  之後每次請求都是根據窗口裏最後一條消息的id來請求,這個時候不去管是isRead還是isDelete。只取窗口回饋的ID後面的消息
這樣解釋基本上就明白了,基本上上次使用校內WEBIM的多窗口聊天的問題都能解釋了,非常感謝

來源:足球直播

發佈了40 篇原創文章 · 獲贊 0 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章