首页 > 编程知识 正文

pb支持mysql数据库吗(pb怎么连数据库)

时间:2023-12-18 19:07:37 阅读:317242 作者:POOO

本文目录一览:

请详细的说一下怎样用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源程序ceshimysql1    --这是我的程序所在目录

      datadir=D:zheng源程序ceshimysql1data

      default-character-set=gbk

      default-storage-engine=innodb 

      max_allowed_packet =12M

     2.建立文本文件,保存为.bat格式,内容为先把客户机MYSQL服务关掉,再启动自己的库,比较坏。。写入:

      net stop mysql

      D:zheng源程序mysql1binmysqld --console

     这里的:‘D:zheng源程序’  这个是程序所在目录,可以通过GetCurrentDirectory()获得,也就是客户存放安装好的系统的文件目录,这个要通过程序实时修改,保证“随地”,mysql1是拷贝过来的mysql库名字。

     3.启动系统时,做如下修改

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

      basedir=D:zheng源程序ceshimysql1   

      datadir=D:zheng源程序ceshimysql1data

      改为当前目录, 用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

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。