freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于bs方式的即時通信軟件的和實現(xiàn)(編輯修改稿)

2025-06-12 18:17 本頁面
 

【文章內(nèi)容簡介】 選中 MySQL Adminstrator 和 MySQL Query Browser 點擊應(yīng)用改變并確 認(rèn)。 如圖 5 所示。 圖 5 確認(rèn)安裝 MySQL 圖形界面管理程序 下載完成后自動安裝。并彈出提示。如圖 6所示 。 圖 6 MySQL 圖形界面管理程序安裝完成 至此, MySQL 數(shù)據(jù)庫系統(tǒng)便安裝完成 [1]。 MySQL 數(shù)據(jù)庫的基本設(shè)置 數(shù)據(jù)庫安裝完成后,要對它進(jìn)行相應(yīng)的配置。主要包含兩大方面,修改默認(rèn)字符集,開放遠(yuǎn)程服務(wù)。 MySQL 的字符集支持 (Character Set Support)有兩個部分: 字符集 (Character set)和排序方式 (Collation)。 對于字符集的支持細(xì)化到四個層次 : 服務(wù)器 (server),數(shù)據(jù)庫 (database),數(shù)據(jù)表 (table)和連接 (connection)。 MySQL 對于字符集的 指定可以細(xì)化到一個數(shù)據(jù)庫,一張表,一列,應(yīng)該用什么字符集。 但是,傳統(tǒng)的程序在創(chuàng)建數(shù)據(jù)庫和數(shù)據(jù)表時并沒有使用那么復(fù)雜的配置,它們用的是默認(rèn)的配置,那么,默認(rèn)的配置從何而來呢? ( 1) 編譯 MySQL 時,指定了一個默認(rèn)的字符集,這個字符集是 latin1。 ( 2) 安裝 MySQL 時,可以在配置文件 () 中指定一個默認(rèn)的的字符集,如果沒指定,這個值繼承自編譯時指定的; ( 3) 啟動 mysqld 時,可以在命令行參數(shù)中指定一個默認(rèn)的的字符集,如果沒指定,這個值繼承自配置文件中的配置 ,此時 character_set_server 被設(shè)定為這個默認(rèn)的字符集 ; ( 4) 當(dāng)創(chuàng)建一個新的數(shù)據(jù)庫時,除非明確指定,這個數(shù)據(jù)庫的字符集被缺省設(shè)定為 character_set_server; ( 5) 當(dāng)選定了一個數(shù)據(jù)庫時, character_set_database 被設(shè)定為這個數(shù)據(jù)庫默認(rèn)的字符集; ( 6) 在此數(shù)據(jù)庫里創(chuàng)建表時,表默認(rèn)的字符集被設(shè)定為character_set_database,也就是這個數(shù)據(jù)庫默認(rèn)的字符集; ( 7) 當(dāng)在表內(nèi)設(shè)置一欄時,除非明確指定,否則此欄缺省的字符集就是表默認(rèn)的字符集; 簡單的總結(jié)一下, 如果什么地方都不修改,那么所有的數(shù)據(jù)庫的所有表的所有欄位的都用 latin1存儲,不過我們?nèi)绻惭b MySQL,一般都會選擇多語言支持,也就是說,安裝程序會自動在配置文件中把 default_character_set 設(shè)置為 UTF8,這保證了缺省情況下,所有的數(shù)據(jù)庫的所有表的所有欄位的都用 UTF8 存儲。 查看默認(rèn)字符集 (默認(rèn)情況下, mysql 的字符集是 latin1(ISO_8859_1) 通常,查看系統(tǒng)的字符集和排序方式的設(shè)定可以通過下面的命令: mysql SHOW VARIABLES LIKE 39。character%39。 得到如圖 7 所示結(jié)果。 圖 7 MySQL 的默認(rèn)字符集編碼 最簡單的修改方法,就是修改 mysql 的 文件中的字符集鍵值,如 defaultcharacterset = utf8 character_set_server = utf8 修改完后,重啟 mysql 的服務(wù) 。 service mysql restart 一般就算設(shè)置了表的默認(rèn)字符集為 utf8 并且通過 UTF8 編碼發(fā)送查詢,你會發(fā)現(xiàn)存入數(shù)據(jù)庫的仍然是亂碼。問題就出在這個 connection 連接層上 。解決方法是在發(fā)送查詢前執(zhí)行一下下面這句: SET NAMES 39。utf839。 它相當(dāng)于下面的三句指令: SET character_set_client = utf8。 SET character_set_results = utf8。 SET character_set_connection = utf8。 開放遠(yuǎn)程服務(wù) mysql 默認(rèn)是禁止遠(yuǎn)程連接的,為了實現(xiàn)遠(yuǎn)程操作,需要開放遠(yuǎn)程連接。 運(yùn)行 “應(yīng)用程序- 編程- MySQL Query Brower”啟動 Mysql 的命令行界面 ,輸入 : GRANT ALL ON etalk.* TO root@39。%39。 IDENTIFIED BY 39。GUOCONG39。WITH GRANT OPTION。 這句話的意思 ,允許任何 IP 地址(上面的 % 就是這個意思)的電腦 用root 帳戶和密碼( GUOCONG)來訪問這個 MySQL Server 上 Etalk 庫中所有的數(shù)據(jù)表。 編輯 /etc/mysql/ 原來默認(rèn)為 : Instead of skipworking the default is now to listen only on localhost which is more patible and is not less secure. bindaddress = 在 bindaddress = 前添加 ,將綁定 IP 注釋掉,即可實現(xiàn)外部訪問 。 數(shù)據(jù)庫表的設(shè)計 表的內(nèi)容設(shè)計涉及到了整型( INTEGER),可變字符型( VARCHAR),數(shù)據(jù) 型( TEXT) 和日期型( DATA) 。 本系統(tǒng)的數(shù)據(jù)庫由三個表組成: users、records、 online。 使用 MySQL Query Browser 建立一個庫 etalk。在其中添加以上三個表。其具體結(jié)構(gòu)與說明如下 : users 表 該表的主要作用是 保存 用戶注冊的基本信息 。該表包含 name 姓名, psw MD5 處理后的密碼, 電子郵件, sex 性別, Info 用戶信息和 Data 注冊時間六個字段。其結(jié)構(gòu)如表 1 所示。 表 1 users 表 字段中文名稱 字段英文名稱 字段類型 字段長度 是否為空 主鍵 用戶名 name Varchar 20 不是 是 密碼 psw Varchar 32 不是 電子郵件 Varchar 20 不是 性別 sex Varchar 1 不是 用戶信息 Info TEXT 不是 注冊時間 Data DATA records 表 該表主要用于記錄用戶離線 時 收到的信息 ,也可以保存用戶的聊天記錄。該表包含 name 姓名, record 記錄兩個字段。其 name字段和 users表中 name字段相對應(yīng)。其結(jié)構(gòu)如表 2所示。 表 2 records 表 字段中文名稱 字段英文名稱 字段類型 字段長度 是否為空 主鍵 姓名 name Varchar 20 不是 是 記錄 record TEXT online 表 該表記錄用戶的在線狀態(tài),對服務(wù)器端轉(zhuǎn)發(fā)數(shù)據(jù)包有著至關(guān)重要的作用。 該表包含 name姓名, ID 編號兩個字段。其結(jié)構(gòu)如表 3所示。 表 3 online 表 字段中文名稱 字段英文名稱 字段類型 字段長度 是否為空 主鍵 姓名 name Varchar 20 不是 是 編號 ID INTEGER 不是 MySQL 與 JSP、 Java 的連接 JDBC(Java DataBase Connectivity)是用于執(zhí)行 SQL 語句的 Java 應(yīng)用程序接口,由 一組用 Java 語言編寫的類與接口組成。 JDBC 是一種規(guī)范,它讓各數(shù)據(jù)庫廠商為 Java 程序員提供標(biāo)準(zhǔn)的數(shù)據(jù)庫訪問類和接口,這樣就使得獨(dú)立于 DBMS 的 Java 應(yīng)用程序的開發(fā)工具和產(chǎn)品成為可能 [4]。 JDBC 編寫數(shù)據(jù)庫程序的方法一般分為三個步驟 : ( 1)建立數(shù)據(jù)源 建立數(shù)據(jù)源是指建立 ODBC 數(shù)據(jù)源。 ( 2)建立連接 與數(shù)據(jù)庫建立連接的標(biāo)準(zhǔn)方法是調(diào)用方法 (String url,String user,String password)。 ( 3)執(zhí)行 SQL 語句 JDBC 提供了 Statement 類來發(fā)送 SQL 語句, Statement 類的對象由createStatement 方法創(chuàng)建; SQL 語句發(fā)送后,返回的結(jié)果通常存放在一個ResultSet 類的對象中, ResultSet 可以看作是一個表,這個表包含由 SQL返回 的列名和相應(yīng)的值, ResultSet 對象中維持了一個指向當(dāng)前行的指針,通過一系列的 getXXX 方法,可以檢索當(dāng)前行的各個列,從而顯示出來。 JDBC 中 Statement 接口提供的 execute、 executeQuery 和 executeUpdate 三種執(zhí)行 SQL 語句的方法: executeQuery、 executeUpdate 和 execute。使用哪一個方法由 SQL 語句所產(chǎn)生的內(nèi)容決定。 ( 1)方法 executeQuery。 用于產(chǎn)生單個結(jié)果集的語句,例如 SELECT 語句。 被使用最多的執(zhí)行 SQL 語句的方法是 executeQuery。這個方法被用來執(zhí)行 SELECT 語句,它幾乎是使用最多的 SQL 語句。 ( 2)方法 executeUpdate。 用于執(zhí)行 INSERT、 UPDATE 或 DELETE 語句以及 SQL DDL(數(shù)據(jù)定義語言)語句 ,例如 CREATE TABLE 和 DROP TABLE。 INSERT、UPDATE 或 DELETE 語句的效果是修改表中零行或多行中的一列或多列。executeUpdate 的返回值是一個整數(shù),指示受影響的行數(shù)(即更新計數(shù))。對于 CREATE TABLE 或 DROP TABLE 等不操作行的語句, executeUpdate 的返回值總為零。 使用 executeUpdate 方法是因為在 createTableCoffees 中的 SQL 語句是 DDL (數(shù)據(jù)定義語言)語句。創(chuàng)建表,改變表,刪除表都 是 DDL 語句的例子,要用 executeUpdate 方法來執(zhí)行。你也可以從它的名字里看出,方法 executeUpdate 也被用于執(zhí)行更新表 SQL 語句。實際上,相對于創(chuàng)建表來說, executeUpdate 用于更新表的時間更多,因為表只需要創(chuàng)建一次,但經(jīng)常被更新。 ( 3)方法 execute。 用于執(zhí)行返回多個結(jié)果集、多個更新計數(shù)或二者組合的語句。因為多數(shù)程序員不會需要該高級功能 execute 方法應(yīng)該僅在語句能返回多個 ResultSet 對象、多個更新計數(shù)或ResultSet 對象與更新計數(shù)的組合時 使用。當(dāng)執(zhí)行某個已存儲過程 或動態(tài)執(zhí)行未知 SQL 字符串(即應(yīng)用程序程序員在編譯時未知)時,有可能出現(xiàn)多個結(jié)果的情況,盡管這種情況很少見。 因為方法 execute 處理非常規(guī)情況,所以獲取其結(jié)果需要一些特殊處理并不足為怪。例如,假定已知某個過程返回兩個結(jié)果集,則在使用方法 execute 執(zhí)行該過程后,必須調(diào)用方法 getResultSet 獲得第一個結(jié)果集,然后調(diào)用適當(dāng)?shù)? getXXX 方法獲取其中的值。 要獲得第二個結(jié)果集,需要先調(diào)用 getMoreResults 方法,然后再調(diào)用 getResultSet 方法。如果已知某個過程返回兩個更新計數(shù),則首先調(diào)用方法 getUpdateCount,然后調(diào)用 getMoreResults,并再次調(diào)用 getUpdateCount。 對于不知道返回內(nèi)容,則情況更為復(fù)雜。 如果結(jié)果是 ResultSet 對象,則方法 execute 返回 true;如果結(jié)果是 Java int,則返回 false。如果返回 int,則意味著結(jié)果是更新計數(shù)或執(zhí)行的語句是 DDL 命令。在調(diào)用方法 execute 之后要做的第一件事情是調(diào)用 getResultSet 或 getUpdateCount。調(diào)用方法 getResultSet 可以獲得兩個或多個 ResultSet 對象中第一個對象;或調(diào)用方法 getUpdateCount 可以獲得兩個或多個更新計數(shù)中第一個更新計數(shù)的內(nèi)容。 當(dāng) SQL 語句的結(jié)果不是結(jié)果集時,則方法 getResultSet 將返回 null。 這可能意味著結(jié)果是一個更新計數(shù)或沒有其它結(jié)果。在這種情況下,判斷 null 真正含義的唯一方法是調(diào)用方法 getUpdateCount,它將返回一個整數(shù)。這個整數(shù)為調(diào)用語句所影響的行數(shù);如果為 1 則表示結(jié)果是結(jié)果集 或沒有結(jié)果。 如果方法 getResultSet 已返回 null(表示結(jié)果不是 ResultSet 對象),則返回值 1 表示沒有其它結(jié)果。也就是說,當(dāng)下列條件為真時表示沒有結(jié)果(或沒有其它結(jié)果): ((() == null) amp。amp。 (() == 1)) 如果已經(jīng)調(diào)用方法 getResultSet 并處理了它返回的 ResultSet 對象,則有必要調(diào)用方法 getMoreResults 以確定是否有其它結(jié)果集或更新計數(shù)。如果 getMoreResults 返回 true,則需要再次調(diào)用 getResultSet 來檢索下一個結(jié)果
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1