pb支持mysql數據庫嗎(pb怎麼連數據庫)

本文目錄一覽:

請詳細的說一下怎樣用pb連接mysql,好嗎

第一步 當然是裝驅動 不過開發環境裝了 就要求客戶機也要裝  可以考慮INSTALLSHILED打包時 把MYSQL驅動環境帶進去 還有一個簡單辦法  EXE所在目錄帶上MYODBC3.DLL 就免驅動安裝過程了 不過註冊ODBC時 需要自己改客戶機註冊表驅動文件所在位置,這個先別考慮了,裝好驅動,OK~

第二步 建庫 下載個Navicat Lite for MySQL 建庫 查詢什麼的 很方便

第三步 建ODBC數據源  和建其他數據源一樣。 只不過是安裝過MYSQL驅動後,有了MYSQL自己的配置界面 如下圖:

需要注意的就是Connect Opentions下的 Initial Statement,剛開始用肯定會遇到亂碼問題,網上百度慢慢研究吧,把這裡加句set names gbk。另外,搜 MY.INI的配置方法。一堆一堆的

第四步 PB連ODBC的數據源 test OK~

下面是我記下來的幾個寫代碼時遇到的問題和解決辦法:

1. 導入數據到MYSQL庫後,中文顯示為亂碼問題,配置ODBC時,在connector options中的 initial statement中添加:set names gbk 

 

 

2. count函數不能用問題,在ODBC中 advanced選項 flags3 勾選IGNORE SPACE AFTER FUNCTIONS NAMES

 

3 ODBC連接框自動彈出問題 

   這樣寫連接語句

SQLCA.DBParm   =”ConnectString=’DSN=mis;UID=root;PWD=’,ConnectOption=’SQL_DRIVER_CONNECT,SQL_DRIVER_NOPROMPT’   “

 

4 導入數據時DATA TOO LONG 問題,MYSQL會自動把定義為VARCHAR(500)長度以上的字段類型轉成TEXT或者BLOB,非常無聊,導進來的表要自己把類型改回去。

  MY.INI 中 屏蔽

  #sql-mode=”STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION”

  位置 

  # Set the SQL mode to strict下句

 

5 連續運行會自動斷開連接。TRANSCATION NOT CONNECTED

  1.編輯mysql.ini

 

 在max_connections=100下面加一行

 enable-named-pipe

 

   2.編輯config.default.php

 

 把57行

 

 $cfg[‘Servers’][$i][‘host’] = ‘localhost’; // MySQL hostname or IP address

  

 改為

 

 $cfg[‘Servers’][$i][‘host’] = ‘.’; // MySQL hostname or IP address

以前還做了個打開程序時,自動創建MYSQL服務,然後net start mysql,退出程序時net stop mysql,清服務,我這是為了做單機版,你應該用不到,也貼上吧,湊字數

1.安裝後的MYSQL全部文件拷貝到編譯好的系統目錄下,把其中的MY-LARGE.INI複製更名為my.ini,打開my.ini,在[mysqld]結尾中加入下面幾句話:

      basedir=D:\zheng\源程序ceshi\mysql1    –這是我的程序所在目錄

      datadir=D:\zheng\源程序ceshi\mysql1\data\

      default-character-set=gbk

      default-storage-engine=innodb 

      max_allowed_packet =12M

     2.建立文本文件,保存為.bat格式,內容為先把客戶機MYSQL服務關掉,再啟動自己的庫,比較壞。。寫入:

      net stop mysql

      D:\zheng\源程序\mysql1\bin\mysqld –console

     這裡的:‘D:\zheng\源程序’  這個是程序所在目錄,可以通過GetCurrentDirectory()獲得,也就是客戶存放安裝好的系統的文件目錄,這個要通過程序實時修改,保證“隨地”,mysql1是拷貝過來的mysql庫名字。

     3.啟動系統時,做如下修改

     (1)打開MY.INI,修改:把步驟1里加入的

      basedir=D:\zheng\源程序ceshi\mysql1   

      datadir=D:\zheng\源程序ceshi\mysql1\data\

      改為當前目錄, 用SetProfileString就行了

     (2)修改步驟2里.BAT文件中的庫位置,和改文本文件方法一樣,fileread出來然後字符串操作。

     (3)建立ODBC數據源,直接把MYODBC3.DLL(裝驅動時在SYSTEM32下生成的系統文件)放到程序文件夾里,然後指定ODBC註冊表驅動項為這個文件。

      (4)建立連接,啟動系統。

pb9.0與Mysql連接是不是要用odbc連接阿

你好。pb9.0與Mysql連接 可以的。

但是我PB9.0沒連過,我用的是powerDesigner 9.5.

powerDesigner 9.5可以連接,用MySQL提供的ODBC,可下載。

希望可以幫助到你 望採納哦 謝謝

如果還有問題,可以繼續追問,感謝。

PB中怎樣連接遠程MySQL數據庫

建立數據庫服務器 ,固定IP 或者 外網可以訪問到的iP地址 通過IP地址就可以訪問連接數據庫!

PB怎麼連接mysql數據庫

1、在powerbuilder軟件界面,點擊上面數據庫圖標。

2、彈出Database Profiles窗口,在此窗口內,雙擊圖中標註ODBC Administrator項。

3、在彈出的ODBC數據源管理器中點擊右側的添加按鈕。

4、在彈出的創建新數據源窗口中,點擊最下方SQL Server Native Client 10.0項。

5、彈出創建到SQL Server的新數據源窗口,輸入任意名稱、描述,服務器處輸入(local),點擊下一步。

6、在新的界面最上方“更改默認數據庫為”前勾選,下方選擇你的程序想要連接的數據庫。點擊下一步。

7、一直點擊下一步直到如圖界面,到此數據源的添加基本完成,點擊下方測試數據源,提示成功後關閉此界面即可;如果不成功請從頭再次操作,注意每一個小細節。

8、上個步驟關閉窗口後,回到原來的ODBC數據源管理器窗口,可以看到列表上方出現了剛剛創建的數據源,關閉此窗口。

9、回到Database Profiles窗口,如圖,點擊ODB ODBC,然後點擊右側New按鈕。

10、新彈出Database Profile Setup-ODBC窗口,填寫Profile Name,下拉列表選擇對應Data Source項。(如果你的數據庫沒有設置登錄密碼,則下方的user id和password項不需填寫)

11、中間穿插一步,如圖,在這個窗口上方點擊Preview標籤,複製下方的一段代碼,留待後面使用。

12、點擊OK,關閉此窗口。

13、點擊新添加的那一項,如圖,點擊右側Connect按鈕,然後數據庫小圖標會出現一個綠色小勾。到這裡,連接數據庫的所有配置已經完成,只需在程序中添加連接數據庫的代碼就可以了。

14、我在我的一個程序窗口的open事件中添加了剛剛複製的那段代碼,這樣這個窗口在打開時就可以直接連上數據庫了。

pb11.5 jdbc怎樣連接數據庫mysql

1、加載JDBC驅動程序:

在連接數據庫之前,首先要加載想要連接的數據庫的驅動到JVM(Java虛擬機),

這通過java.lang.Class類的靜態方法forName(String className)實現。

例如:

try{

//加載MySql的驅動類

Class.forName(“com.mysql.jdbc.Driver”) ;

}catch(ClassNotFoundException e){

System.out.println(“找不到驅動程序類 ,加載驅動失敗!”);

e.printStackTrace() ;

}

成功加載後,會將Driver類的實例註冊到DriverManager類中。

2、提供JDBC連接的URL

•連接URL定義了連接數據庫時的協議、子協議、數據源標識。

•書寫形式:協議:子協議:數據源標識

協議:在JDBC中總是以jdbc開始

子協議:是橋連接的驅動程序或是數據庫管理系統名稱。

數據源標識:標記找到數據庫來源的地址與連接端口。

例如:(MySql的連接URL)

jdbc:mysql:

//localhost:3306/test?useUnicode=truecharacterEncoding=gbk ;

useUnicode=true:表示使用Unicode字符集。如果characterEncoding設置為

gb2312或GBK,本參數必須設置為true 。characterEncoding=gbk:字符編碼方式。

3、創建數據庫的連接

•要連接數據庫,需要向java.sql.DriverManager請求並獲得Connection對象,

該對象就代表一個數據庫的連接。

•使用DriverManager的getConnectin(String url , String username ,

String password )方法傳入指定的欲連接的數據庫的路徑、數據庫的用戶名和

密碼來獲得。

例如:

//連接MySql數據庫,用戶名和密碼都是root

String url = “jdbc:mysql://localhost:3306/test” ;

String username = “root” ;

String password = “root” ;

try{

Connection con =

DriverManager.getConnection(url , username , password ) ;

}catch(SQLException se){

System.out.println(“數據庫連接失敗!”);

se.printStackTrace() ;

}

4、創建一個Statement

•要執行SQL語句,必須獲得java.sql.Statement實例,Statement實例分為以下3

種類型:

1、執行靜態SQL語句。通常通過Statement實例實現。

2、執行動態SQL語句。通常通過PreparedStatement實例實現。

3、執行數據庫存儲過程。通常通過CallableStatement實例實現。

具體的實現方式:

Statement stmt = con.createStatement() ;

PreparedStatement pstmt = con.prepareStatement(sql) ;

CallableStatement cstmt =

con.prepareCall(“{CALL demoSp(? , ?)}”) ;

5、執行SQL語句

Statement接口提供了三種執行SQL語句的方法:executeQuery 、executeUpdate

和execute

1、ResultSet executeQuery(String sqlString):執行查詢數據庫的SQL語句

,返回一個結果集(ResultSet)對象。

2、int executeUpdate(String sqlString):用於執行INSERT、UPDATE或

DELETE語句以及SQL DDL語句,如:CREATE TABLE和DROP TABLE等

3、execute(sqlString):用於執行返回多個結果集、多個更新計數或二者組合的

語句。

具體實現的代碼:

ResultSet rs = stmt.executeQuery(“SELECT * FROM …”) ;

int rows = stmt.executeUpdate(“INSERT INTO …”) ;

boolean flag = stmt.execute(String sql) ;

6、處理結果

兩種情況:

1、執行更新返回的是本次操作影響到的記錄數。

2、執行查詢返回的結果是一個ResultSet對象。

• ResultSet包含符合SQL語句中條件的所有行,並且它通過一套get方法提供了對這些

行中數據的訪問。

• 使用結果集(ResultSet)對象的訪問方法獲取數據:

while(rs.next()){

String name = rs.getString(“name”) ;

String pass = rs.getString(1) ; // 此方法比較高效

}

(列是從左到右編號的,並且從列1開始)

7、關閉JDBC對象

操作完成以後要把所有使用的JDBC對象全都關閉,以釋放JDBC資源,關閉順序和聲

明順序相反:

1、關閉記錄集

2、關閉聲明

3、關閉連接對象

if(rs != null){ // 關閉記錄集

try{

rs.close() ;

}catch(SQLException e){

e.printStackTrace() ;

}

}

if(stmt != null){ // 關閉聲明

try{

stmt.close() ;

}catch(SQLException e){

e.printStackTrace() ;

}

}

if(conn != null){ // 關閉連接對象

try{

conn.close() ;

}catch(SQLException e){

e.printStackTrace() ;

}

}

PB與MySQL的連接

你看一下示例代碼

If Len(sle_dlyh.Text) = 0 Then

MessageBox(‘系統提示’,’請輸入用戶名!’)

SetFocus(sle_dlyh)

ElseIf Len(sle_dlkl.Text) = 0 Then

MessageBox(‘系統提示’,’請輸入口令!’)

SetFocus(sle_dlkl)

Else

String password_tmp //查詢用戶及相應的密碼

String name_tmp

name_tmp = Trim(sle_dlyh.Text)

// 檢索用戶密碼

Select Password Into :password_tmp From admin where username = :name_tmp;

// 驗證用戶密碼

If Trim(sle_dlkl.Text) Trim(password_tmp) Then

MessageBox(‘系統提示’,’用戶名或密碼錯誤,請重新輸入!’)

SetFocus(sle_dlyh)

Else

Parent.Visible = False //隱藏登錄窗體,打開主窗體

Open(w_main)

End If

End If

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/293811.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-26 13:15
下一篇 2024-12-26 13:15

相關推薦

  • 如何修改mysql的端口號

    本文將介紹如何修改mysql的端口號,方便開發者根據實際需求配置對應端口號。 一、為什麼需要修改mysql端口號 默認情況下,mysql使用的端口號是3306。在某些情況下,我們需…

    編程 2025-04-29
  • Python 常用數據庫有哪些?

    在Python編程中,數據庫是不可或缺的一部分。隨着互聯網應用的不斷擴大,處理海量數據已成為一種趨勢。Python有許多成熟的數據庫管理系統,接下來我們將從多個方面介紹Python…

    編程 2025-04-29
  • openeuler安裝數據庫方案

    本文將介紹在openeuler操作系統中安裝數據庫的方案,並提供代碼示例。 一、安裝MariaDB 下面介紹如何在openeuler中安裝MariaDB。 1、更新軟件源 sudo…

    編程 2025-04-29
  • Python操作MySQL

    本文將從以下幾個方面對Python操作MySQL進行詳細闡述: 一、連接MySQL數據庫 在使用Python操作MySQL之前,我們需要先連接MySQL數據庫。在Python中,我…

    編程 2025-04-29
  • 數據庫第三範式會有刪除插入異常

    如果沒有正確設計數據庫,第三範式可能導致刪除和插入異常。以下是詳細解釋: 一、什麼是第三範式和範式理論? 範式理論是關係數據庫中的一個規範化過程。第三範式是範式理論中的一種常見形式…

    編程 2025-04-29
  • MySQL遞歸函數的用法

    本文將從多個方面對MySQL遞歸函數的用法做詳細的闡述,包括函數的定義、使用方法、示例及注意事項。 一、遞歸函數的定義 遞歸函數是指在函數內部調用自身的函數。MySQL提供了CRE…

    編程 2025-04-29
  • leveldb和unqlite:兩個高性能的數據庫存儲引擎

    本文將介紹兩款高性能的數據庫存儲引擎:leveldb和unqlite,並從多個方面對它們進行詳細的闡述。 一、leveldb:輕量級的鍵值存儲引擎 1、leveldb概述: lev…

    編程 2025-04-28
  • MySQL bigint與long的區別

    本文將從數據類型定義、存儲空間、數據範圍、計算效率、應用場景五個方面詳細闡述MySQL bigint與long的區別。 一、數據類型定義 bigint在MySQL中是一種有符號的整…

    編程 2025-04-28
  • Python怎麼導入數據庫

    Python是一種高級編程語言。它具有簡單、易讀的語法和廣泛的庫,讓它成為一個靈活和強大的工具。Python的數據庫連接類型可以多種多樣,其中包括MySQL、Oracle、Post…

    編程 2025-04-28
  • MySQL左連接索引不生效問題解決

    在MySQL數據庫中,經常會使用左連接查詢操作,但是左連接查詢中索引不生效的情況也比較常見。本文將從多個方面探討MySQL左連接索引不生效問題,並給出相應的解決方法。 一、索引的作…

    編程 2025-04-28

發表回復

登錄後才能評論