PowerBuilder 使用 JDBC 连接 MySQL 实现学生选课管理系统

PowerBuilder(PB)如何连接SQL数据库 1,打开PB,点击数据库按钮 2,在弹出的Database Profiles界面中双击打开ODBC Administrator。如果双击打不开的情况下,请关闭软件,以管理员形式重新打开PB重复以上步骤。 3,选择用户 DSN 点击添加。在创建新数据源中选择 SQL Server Native Client ,点击确定。 4,创建新的数据源,步骤如图。 步骤1 步骤2 步骤 3 如果出现以下错误,说明步骤一中的服务器哪里输入的不对,需要重新输入。 步... 阅读详情

目录

 PB 的 JVM 配置(System Options)

 创建 MySQL 数据库 student (若已经创建请跳过,但最好跟我(课本)一样,要不然代码里要相应修改)

 JDBC 连接 MySQL

 建立工作空间

 创建数据窗口

 创建功能窗口

 生成可执行程序


本教程基于:董建全《数据库实用教程》(第三版)

请准备好 JDBC 连接 MySQL 的驱动 jar 包:mysql-connector-java-5.1.46.jar (如已经有了就不需要再下载)

由于 PB 的原因,大概率会出现无法连接 64位 JDK 的问题,所以最好安装32位的 JDK 并配置好系统环境变量。

最后的:生成可执行程序,没有实现。

  • PB 的 JVM 配置(System Options)

点击导航栏顶部的 Tools,打开 System Options 并选择 Java,在 Classpaths 右侧点击虚线方框,在文件管理中选择你刚刚下载好的 jar 包,

 在右下方 Set JDK Location 中修改你安装的 JDK 的路径,以及相应的 JRE 路径,要注意只有32位的 JRE 中才有 client 文件

OK,在下方 JVM Status 中应该是这样的信息:

如果 Load Status 不是 Loaded 状态,那么之后连接数据库就会出现 PB 无法加载 JVM 的问题。

  • 创建 MySQL 数据库 student (若已经创建请跳过,但最好跟我(课本)一样,要不然代码里要相应修改)

其中各个表的设计如下:

c 表(课程表)

s 表(学生表)

sc 表(学生成绩表)

注意外键约束 :

  •  JDBC 连接 MySQL

打开 DataBase 

右键点击 JDB JDBC --> new profile 新建,在弹出的 Database Profile Setup - JDBC 窗口填写 JDBC 驱动以及你所要连接的数据库表的信息:

Driver Name:org.gjt.mm.mysql.Driver

URL:jdbc:mysql://localhost:3306/你要连接的数据库的名字

Login ID:你登录 MySQL 的用户名

Password:你登录 MySQL 的密码

OK,如果按照前面的配置,你已经连接上 MySQL 了,Tables 中有你创建好的表:

  •  建立工作空间

详情请参考《数据库实用教程》从 P_{320} 开始。

创建完成如图所示:

 双击 student.pbl 目录下的 student,右侧弹出 student 的 Application 窗口,左下角选择 open 填入以下代码,但先不要运行:

// Profile student
SQLCA.DBMS = "JDBC"
SQLCA.LogId = "root"
SQLCA.LogPass = "123456"
SQLCA.AutoCommit = False
SQLCA.DBParm = "Driver='org.gjt.mm.mysql.Driver', Url='jdbc:mysql://localhost:3306/student'"
//CONNECT;
connect using sqlca;
if SQLCA.SQLCODE<>0 then
	MessageBox("对不起,链接不了数据库", SQLCA.SQLERRTEXT)
	halt
	return
else
	s_info = 's1'
	open(w_select_course)
// 下面这行代码在创建了 w_login 后用到,届时要注释掉上面两行
	//open(w_login)
end if
  •  创建数据窗口

我傻逼了,这些教程就在书里啊……,此部分详情请参考 董建全《数据库实用教程》(第三版)P_{323} - P_{336}

学生成绩报告单(d_student_score_report)数据窗口,以及成绩分布(d_score_dis)数据窗口要仔细看图_{13.49}课本中的 图13.49 以及图 13.50 中的复选框选择和计算公式,以及各个字段的摆放,否则,不好看。

  • 创建功能窗口

进行这里之前你要从课本的 P_{336} 跟着教程走到 P_{340} 。

创建窗口,添加控件、绑定数据窗口这些,都完全跟着课本教程走,但是代码都用我的,因为是完整的。

  • 编写应用对象(student.pbl)的脚本:

我们在上面已经在 open 窗口中打了代码,不需要重复。

接下来选择 PB 主窗口中 “View” 菜单下的 “Variable” 子菜单,打开 “Declare Instance Variable” 子窗口,在下拉列表框中选择 “Global Variable”,在窗口空白区域输入全局变量:

string s_info, s_credit, c_info, cname_info, teacher
  • “学生选课”主窗口 w_select_course:

open 事件脚本:

// 窗口 w_select_course 的 open 事件
dw_1.settransobject(sqlca)
dw_1.retrieve(s_info)
dw_1.object.datawindow.readonly = 'yes'
dw_2.settransobject(sqlca)
dw_2.retrieve(s_info)
dw_2.object.datawindow.readonly = 'yes'
dw_3.settransobject(sqlca)
dw_3.retrieve(s_info)
dw_3.object.datawindow.readonly = 'yes'
dw_4.settransobject(sqlca)
dw_4.retrieve(s_info)
dw_4.object.datawindow.readonly = 'yes'
sle_1.SetFocus( )

 选课按钮 clicked 脚本:

// 选课按钮 pb_1 的 clicked 事件脚本
string ccname, ccno
c_info = upper(sle_1.text)
if c_info = "" then
	MessageBox("出错", "请输入课程号")
else
	select c.cname into :ccname from c where c.cno = :c_info;
	if SQLCA.SQLCODE <> 0 then
		MessageBox("出错", "此课程号不存在")
	else
		select sc.cno into :ccno from sc where (sc.cno = :c_info and 
		sc.sno = :s_info);
		if SQLCA.SQLCODE = 0 then
			MessageBox("出错", "此课程已选")
		else
			INSERT INTO sc (sno, cno)
			VALUES (:s_info, :c_info);
			dw_4.reset()
			sle_1.text = ""
			dw_4.settransobject(sqlca)
			dw_4.retrieve(s_info)
		end if
	end if
end if

退课按钮 clicked 脚本:

// 退课 pb_2 clicked 脚本
string ccno, ggrade
if sle_1.text = "" then
	MessageBox("出错", "请输入课程号")
end if
c_info = upper(sle_1.text)
if c_info <> "" then
	select c.cname into :cname_info from c where c.cno = :c_info;
	if SQLCA.SQLCODE <> 0 then
		MessageBox("出错", "此课程号不存在")
	else
		select sc.cno, sc.grade into :ccno, :ggrade from sc where (sc.cno = :c_info and
		sc.sno = :s_info);
		if SQLCA.SQLCODE <> 0 then
			MessageBox("出错", "此课程未选")
		else
			if ggrade <> "" then
				MessageBox("出错", "此课程已登分")
			else
				delete from sc where sno = :s_info and cno = :c_info;
				dw_4.reset()
				sle_1.text = ""
				dw_4.settransobject(sqlca)
				dw_4.retrieve(s_info)
			end if
		end if
	end if
end if

可选课程 doubleclicked 脚本:

// 可选课程 dw_2 的 doubleclicked 脚本:
open(w_select_student_score_report)

关闭按钮我都觉得没必要。

  • “课程信息”窗口 w_course_create :

 open 事件脚本:

// 课程信息窗口 w_course_create 的 open 事件脚本
int sum, hascol
dw_1.settransobject(sqlca);
dw_1.retrieve();
hascol = dw_1.retrieve();
pb_2.enabled = false
st_1.text = string(hascol)

新增按钮 clicked 脚本:

// 新增按钮 pb_1 的 clicked 事件脚本
long l_row
int s
pb_1.enabled = false
s = dw_1.RowCount()
l_row = dw_1.InsertRow(s+1)
dw_1.scrolltorow(s+1)
dw_1.setfocus()
pb_1.enabled = false
pb_2.enabled = true

 保存按钮 clicked 脚本:

// 保存按钮 pb_2 的 clicked 事件脚本
int s, hascol
string kk
s = dw_1.getrow();
c_info = dw_1.getitemstring(s, "cno")
select c.cno into :kk from c where (c.cno = :c_info);
if c_info = kk then
	MessageBox("出错", "不能增加,此课程号已经存在")
else
	dw_1.update()
	hascol = dw_1.retrieve()
	st_1.text = string(hascol)
	pb_1.enabled = true
	pb_2.enabled = false
end if

 删除按钮 clicked 脚本:

// 删除按钮 pb_3 的 clicked 事件脚本
int s, hascol
string kk
s = dw_1.getrow();
c_info = dw_1.getitemstring(s, "cno")
select sc.cno into :kk from sc where (sc.cno = c_info);
if c_info = kk then
	MessageBox("出错", "不能删除,此课程已经有学生选")
else
	dw_1.DeleteRow(s);
	dw_1.update();
	hascol = dw_1.retrieve();
	st_1.text = string(hascol)
end if
pb_1.enabled = true
pb_2.enabled = false
  •  “学生信息”窗口 w_student_create:

 open 事件脚本:

// 学生信息窗口 w_student_create 的 open 事件脚本
int sum, hascol
dw_1.settransobject(sqlca);
dw_1.retrieve();
hascol = dw_1.retrieve();
pb_2.enabled = false
st_1.text = string(hascol)

 新增按钮 clicked 脚本:

// 新增按钮 pb_1 的 clicked 事件脚本
long l_row
int s
s = dw_1.RowCount()
l_row = dw_1.InsertRow(s+1)
dw_1.scrolltorow(s+1)
dw_1.setfocus()
pb_1.enabled = false
pb_2.enabled = true

 保存按钮 clicked 脚本:

// 保存按钮 pb_2 的 clicked 事件脚本
int s, hascol;
string kk
s = dw_1.getrow();
s_info = dw_1.getitemstring(s, "sno")
select s.sno into :kk from s where (s.sno = :s_info);
if s_info = kk then
	MessageBox("出错", "不能增加,此学号已存在")
else
	dw_1.update()
	hascol = dw_1.retrieve()
	st_1.text = string(hascol)
	pb_1.enabled = true
	pb_2.enabled = false
end if

 删除按钮 clicked 脚本:

// 删除按钮 pb_3 的 clicked 事件脚本
int s, hascol;
string kk
s = dw_1.getrow();
s_info = dw_1.getitemstring(s, "sno")
select sc.sno into :kk from sc where (sc.sno = s_info);
if s_info = kk then
	MessageBox("出错", "不能删除,此学生已经选课")
else
	dw_1.DeleteRow(s)
	dw_1.Update()
	hascol = dw_1.retrieve();
	st_1.text = string(hascol)
end if
pb_1.enabled = true
pb_2.enabled = false
  •  “学生成绩单”子窗口 w_select_student_score_report :

 open 事件脚本:(课本中没有,但这是必要的……太坑了)

// 学生成绩单窗口 w_select_student_score_report 的 open 事件脚本
dw_1.settransobject(sqlca)
dw_1.retrieve(s_info)
dw_1.object.datawindow.readonly="yes"
  •  “成绩分布”子窗口 w_course_score_dis: 

 open 事件脚本:(太坑了……)

// 成绩分布子窗口 w_course_score_dis 的 open 事件脚本
dw_1.settransobject(sqlca)
dw_1.retrieve(s_info)
dw_1.object.datawindow.readonly="yes"
  • “成绩管理”主窗口 w_teacher_manage:

 open 事件脚本:

// 成绩管理主窗口 w_teacher_manage 的 open 事件脚本
declare cnamecursor cursor for
	select distinct c.cname
	from c, sc
	where c.cno = sc.cno;
open cnamecursor;
if sqlca.sqlcode = -1 then
	MessageBox("sql error", string(sqlca.sqldbcode) + ":" + sqlca.sqlerrtext)
else
	cname_info = ""
	do
		if cname_info <> "" then
			ddlb_cname.additem(cname_info)
		end if
		fetch cnamecursor into :cname_info;
	loop while sqlca.sqlcode = 0
	if sqlca.sqlcode = -1 then
		MessageBox("sql error", string(sqlca.sqldbcode) + ":" + sqlca.sqlerrtext)
	end if
end if
close cnamecursor;
pb_2.enabled = false

查询按钮 clicked 脚本:

// 查询按钮 pb_1 的 clicked 事件脚本
if ddlb_cname.text = "" then
	MessageBox("出错", "请选择课程名")
else
	cname_info = upper(ddlb_cname.text)
	select cno, tname into :c_info, :teacher
	from c
	where cname = :cname_info;
	st_5.text = ddlb_cname.text
	st_6.text = teacher
	dw_1.settransobject(sqlca)
	dw_1.retrieve(c_info)
	dw_1.object.datawindow.readonly = "yes"
	pb_2.enabled = true
end if

输入成绩按钮 clicked 脚本:

// 输入成绩 pb_2 的 clicked 事件脚本
if pb_2.text = '输入成绩' then
	// 有这一句才能编辑成绩:(太坑了……)
	dw_1.modify( "grade.TabSequence = 10" )
	dw_1.object.datawindow.readonly = 'no'
	pb_2.text = '保存'
	pb_1.enabled = false
	pb_3.enabled = false
	st_4.text = '请输入成绩:'
else
	dw_1.UPDATE()
	dw_1.retrieve(c_info)
	dw_1.object.datawindow.readonly = 'yes'
	pb_2.text = '输入成绩'
	pb_1.enabled = true
	pb_2.enabled = true
	pb_3.enabled = true
	st_4.text = "已选修此课的学生:"
end if

成绩分布按钮 clicked 脚本:

// 成绩分布按钮 pb_3 clicked 事件脚本
open(w_course_score_dis)
  • 登录窗口 w_login:

open 事件我没图,没写

sle_user 控件 checkkey 或 modified 脚本:

// w_login 窗口的 sle_user 控件 checkkey 或 modified 事件脚本
if keydown(KeyEnter!) then
	sle_pwd.setfocus()
end if

sle_pwd 控件 checkkey 脚本:

// w_login 窗口的 sle_pwd 控件 checkkey 事件脚本
if keydown(KeyEnter!) then
	pb_login.setfocus()
end if

登录按钮 pb_login 的 clicked 脚本:

// 登录按钮 pb_login 的 clicked 事件脚本
if sle_user.text = "" then
	MessageBox("提醒", "请输入用户名")
	sle_user.setfocus()
	return
end if
if sle_pwd.text = "" then
	MessageBox("提醒", "请输入密码")
	sle_pwd.setfocus()
	return
end if
string ls_user, ls_pwd, ls_confirm_user, ls_confirm_pwd
// 此处做了修改,system 用户登录不要大写
// ls_user = upper(sle_user.text)
// ls_pwd = upper(sle_pwd.text)
ls_user = sle_user.text
ls_pwd = sle_pwd.text
ls_confirm_pwd = ""
ls_confirm_user = ""
if (ls_user = 'system' and ls_pwd = 'system') then
	open(w_teacher_manage)
	close(parent)
else
// 此处 SQL 语句中的双引号去掉了
	select s.logn, s.pswd, s.sno
	into :ls_confirm_user, :ls_confirm_pwd, :s_info
	from s where s.logn = :ls_user;
	s_info = trim(s_info)
	if ls_user <> trim(ls_confirm_user) then
		MessageBox("警告!", "用户名错,重新注册", stopSign!)
		sle_user.text = ""
		sle_pwd.text = ""
		sle_user.setfocus()
	elseif ls_pwd <> trim(ls_confirm_pwd) then
		MessageBox("警告!", "密码错误,重新注册", stopSign!)
		sle_pwd.text = ""
		sle_pwd.setfocus()
	else
		open(w_select_course)
		close(parent)
	end if
end if

退出按钮的 clicked 脚本:

// 退出按钮 pb_exit 的 clicked 事件脚本
close(parent)
  • 修改应用对象(student.pbl)的脚本(前面有过注释):
// student 脚本修改
s_info = 's1'
open(w_select_course)

// 注释掉上面两句,修改为:
open(w_login)

可以运行了。

之后添加菜单的教程可以跟着课本走了,前面的坑基本都踩过了。

  • 生成可执行程序

这里使用 JDBC 连接 PB 操作 MySQL 数据库是通过 settransobject(sqlca),遗憾的是 MySQL 并不支持环境外的这种操作,所以生成 exe 文件后执行会报错,在下至今无解。我们只能在 PB 里面运行这个项目,不妨参考评论区的大佬使用 ODBC 来连接。

PowerBuilder通过JDBC连接MySQL数据库教程 PowerBuilder(简称PB)是SYBASE公司开发的一种面向对象的应用程序开发工具,自1991年问世以来,它以其强大的开发能力和易用性,在企业级应用开发领域享有盛名。本章将介绍PB的起源、发展历程及其作为开发工具的主要特点。Java数据库连接(Java Database Connectivity,JDBC)是一个Java API,可以用来在Java语言中访问数据库。它是Java SE的一部分,为开发者提供了一种统一的方式来操作不同数据库管理系统(DBMS)中的数据。 阅读详情

相关推荐

简易CRM软件设计:PowerBuilder与MySQL的融合

CRM(客户关系管理)软件是一种旨在帮助企业有效管理与客户互动的业务策略。通过集成销售、营销和客户服务等功能,CRM软件提高客户满意度,优化销售流程,增强企业盈利能力。它支持从潜在客户到忠实客户的整个生命周期管理,并且通常与数据分析工具集成,以提供对业务洞察和决策支持。

weixin_42128315的博客 421

Pb(powerbuilder)连接Mysql

pb + mysql +数据库连接

jiangmingmin的博客 4915

MEMS惯性传感器关键参数解析与误差优化策略

本文深入解析了MEMS惯性传感器的关键性能参数,如零偏稳定性、噪声与随机游走、振动整流误差等,并阐述了这些误差如何导致设备导航漂移、姿态不稳等问题。文章重点探讨了从硬件选型、系统设计到校准补偿、算法融合(如卡尔曼滤波)以及温度补偿等实战优化策略,旨在帮助工程师有效提升自动驾驶、无人机等设备的测量精度与稳定性。

weixin_28363123的博客 415

图说powerbuilder连接mysql数据库

powerbuilder(pb)通过ODBC连接Mysql数据库

qq_37027041的博客 2271

AI应用架构师干货:智能财务分析AI平台可视化模块设计(附最佳实践)

智能财务分析的价值,从来不是“AI模型有多准”,而是“财务人员能用上AI的结果”。可视化模块的设计,本质是**“站在业务用户的角度,重新定义技术的价值”**——它不需要复杂的动画,不需要华丽的特效,只需要“把AI的结果翻译成财务人员能看懂的语言”。作为AI应用架构师,我们的使命不是“打造最先进的技术”,而是“打造最有用的技术”。而可视化,就是连接技术与业务的那座“桥”。附录:实战项目GitHub仓库(注:此处可放置实际项目的GitHub链接,包含完整代码、数据样例、部署文档)作者简介。

SuperAGI2025 1156

大麦APP抢票协议分析:从‘掌密网络’代码看移动端API安全防护

本文深度解析了大麦APP抢票协议的安全防护体系,重点分析了'掌密网络'代码中体现的动态签名、设备指纹和人机验证等关键技术。文章详细介绍了大麦APP如何通过多层次API安全防护应对抢票压力,包括参数加密、请求头部设计和异常处理机制,为移动应用开发者提供了安全实践建议。

weixin_28740299的博客 292

PowerBuilder通过jdbc连接mysql

PowerBuilder,一个古老的IDE,打算陆续发些相关的,也许还有人需要,内容可能涉及其他作者,但基本都是基于本人实践整理,如涉及归属,请联系.重要:需要在这里修改下jdk的版本(set jdk location),jdk的location和jrelocation。打开PB,菜单Tools--> system options,打开JAVA选项,点击新增文件(白色文件图标)点击工具栏上的DB profile,选择JDB JDBC,点击NEW。填入用户名密码.即可.

云停留的地方 893

Java对接(BSC)币安链 | BNB与BEP20的开发实践(三)水龙头 WEB3

这一节我们讲一个币安测试链如何获取到BNB、USDT等BEP20数字货币(水龙头)来让我们前期测试开发。如图:我们将创建的地址填入相应输入框,来获取到测试BNB以及其他BEP20数字币。发币可能需要交易等待,请耐心等待即可,交易完成后,币会到达您的地址内。上一节我们用代码来实现BNB转账、BEP20转账、链上交易监控。2.MetaMask(小狐狸)浏览器插件 🪜。使用EDGE浏览器可以在浏览器直接打开。使用Chrome浏览器,请使用🪜打开。基本工作就绪后,即可进行开发测试。3. 测试区块链浏览器 🪜。

大猩猩的专栏 2790

powerbuilder10.5 客服端软件连接外部jdbc连接数据源

DBMS = "O10 Oracle10g (10.1.0)" 模式下 JDBC连接1、找(可在安装oracle客户端的机子)oci.dll 和 oraociei10.dll  tnsnames.ora,pbo10105.dll这三个文件,放在你的应用程序目录下即可  pbo10105.dll 路径:..\Sybase\Shared\PowerBuilder\ pbo10105.dll2、还得有个

lisanjun520的专栏 716

芯片散热技术突破:多尺度结构与VC集成方案解析

在半导体技术快速发展的背景下,芯片散热成为制约性能提升的关键瓶颈。传统散热技术如风冷和水冷已接近物理极限,而两相浸没式液冷技术凭借其超高传热系数成为新的解决方案。通过多尺度表面结构设计与真空腔均热板(Vapor Chamber)的集成创新,可以显著提升沸腾性能,降低沸腾起始温差(ONB)并突破临界热流密度(CHF)限制。这种技术在数据中心、高性能计算(HPC)和边缘计算等高热流密度场景中具有重要应用价值,能有效提升能效比(PUE)并降低能耗。

weixin_36288992的博客 155

【以太网硬件十二】以太网端口自协商过程解密之二

简述以太网端口自协商的过程

highman110的博客 2489

powerbuilder连接mysql,Powerbuilder 12.5数据库连接初学者教程

I am fairly new to powerbuilder 12.5 and i cant find much tutorials on database management on SQL 2008. I need to connect to it via code like in VB.NET vs2008Dim con As New SqlConnectionCon.connection...

weixin_39790168的博客 701

家人们,谁懂啊,dify又报错了:[models] Bad Request Error, 500 Server Error:Internal Server Error for url: http://

本来今天下班,坐在地铁上,一身劳累。一起上班的小兄弟儿,突然甩来一张截图:老大!dify又报错了。没办法,一到家就打开电脑,开始排查。

xiezhipu的博客 882

PowerBuilder通过JDBC连接MySQL数据库

目录 0. 前期准备(版本不限定) 1. 右键管理员身份运行,进行系统设置(非管理员会报错) 2.连接数据库(假定已经装好MySQL并创建了数据库student,数据库服务器运行中) 注意: PowerBuilder 2017R3是32位的,所以Java DataBase Connector也要下载32位的,否则无法连接; 也可以通过ODBC连接MySQL,同样需要32位版本(若已经安装64位需要卸载并安装32位); 若安装了MySQL Installer..

夏侯依风 的博客 3122

古风仙侠少女三视图提示词,一键生成角色设定

3D中国写实CG风格,CG渲染质感,精细3D建模,PBR物理材质,细腻服装纹理,电影级灯光,丰富表情,高精度场景,次世代引擎画质。平视正交视角,统一光照,纯白背景,无文字无水印,避免强透视和动态变形。3D中国写实CG风格,CG渲染质感,精细3D建模,PBR物理材质,细腻服装纹理,电影级灯光,丰富表情,高精度场景,次世代引擎画质。3D中国写实CG风格,CG渲染质感,精细3D建模,PBR物理材质,细腻服装纹理,电影级灯光,丰富表情,高精度场景,次世代引擎画质。少女,古风仙侠少女气质,灵动、温婉、仙气。

欢迎来到鸾姝淡月博客,专为程序员和编程爱好者打造的技术博客。我们分享编程语言趋势、开发工具、编程哲学、职业发展等,助你掌握新技术,优化技能,激发编程热情。 1059

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

pb 使用mysql_pb连接mySql数据库

pb连接mySql数据库PB连接MySQL数据库去mysql的官方网站下载odbc connector(http://dev.mysql.com/downloads/connector/odbc/)下载的是mysql-connector-odbc-noinstall-5.1.6-win32.zip解压后直接运行文件夹中的 Install.bat 批处理文件mysql-connector有好几种,选...

weixin_32019329的博客 1913

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

powerdesigner15 使用JDBC连接 mysql 相关问题及生成PB数据结构字典问题

2、根据mysql版本5.x或8.x下载相应的jdbc驱动包,如mysql-connector-java-5.1.8.jar或mysql-connector-java-8.0.18.jar。PS:查看mysql 数据库存放路径 : show global variables like '%datadir%';3、连接时可建立一个连接文件,然后选择对应jdbc驱动,如图所示,点击test connection测试是否连接成功。PD15需要使用32位java环境来连接mysql数据库,如果提示。

apei2003的专栏 991

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

powerbuilder只能支持cp850字符集吗_MySQL数据库字符集

1. 查看数据库支持的所有字符集mysql> show character set;+----------+---------------------------------+---------------------+--------+| Charset | Description | Default collation | Maxl...

weixin_39586649的博客 330

powerbuiler与各数据库的连接

pb中数据库连接操作

weixin_45466998的博客 2889

在powerbuilder中使用odbc连接mysql5数据库中文乱码解决方法

tag:powerbuilder odbc mysql 中文乱码作者:benjaminz(zeng78@gmail.com) 时间:2008-11-14 由于一个项目中要使用mysql作为数据库,前端的开发工具定为powerbuilder9,安装好mysql数据库和mysql的odbc驱动后,使用powerbuilder9连接成功,可以看到数据库中的表和非汉字信息,可是读取的汉字信息均显示为???...

鸡翅.多! 431

powerbuilder mysql_powerbuilder+mysql5.0的连接过程 | 学步园

1,下载mysql-connector-java-5.1.82,解压缩后,建议移动到C:/Program Files/Sybase/PowerBuilder 9.0/下的mysql-connector-java-5.1.8/目录中;3,打开Powerbuilder ,【tools】-->【System Options】,【Java】 选项页中,增加一个【ClassPaths】项目,加入C:/...

weixin_39880895的博客 356

PowerBuilder通过ODBC连接MySQL

软件版本:PowerBuilder 8.0.4 Build10501MySQL 5.1.14-beta-community-ntMySQL Connector/ODBC 3.51.12(这个版本比较稳定)1、下载并安装MySQL数据库服务器和MySQL Connector/ODBC(即MySQL的ODBC驱动程序),启动MySQL服务;2、在ODBC中添加数据源,会弹出MySQL Conn

老扁的专栏 5527

【PB案例学习笔记】-33 PB连接Oracle数据库查询数据

这是PB案例学习笔记系列文章的第33篇,该系列文章适合具有一定PB基础的读者。通过一个个由浅入深的编程实战案例学习,提高编程技巧,以保证小伙伴们能应付公司的各种开发需求。

再小的帆也能远航,把分享变成一种习惯 1226

【powerbuilder】PB连接数据库

PB可以连接多种数据库,可以自己选择,增删改查语句和SQL语句有点区别,像查询、删除,可以自己细细研究。

qq_25285531的博客 621

【PB开发】第1天:PB安装、菜单介绍

学习课程:PB8.0开发课程学习时间:2018-09-05PB安装组件选择:•Powerbuilder:pb编程环境(选择这个安装就可以了,其他都不用安装)•Infomaker:快速原型开发工具•PowerDynamo:动态页面服务器•Jaguar CTS:事务处理服务器•Adaptive Server Anywhere:PB自动的数据...

weixin_34311757的博客 1458

pb通过jdbc连接mysql

<br />最近需要用pb联mysql做个项目,查网上有关的方法,很多都没说清楚,所以在这里总结下:<br /> <br />  <br />采用 JDBC 连接,首先去 MYSQL 官网下载 mysql-connector-java-5.0.7.rar  JDBC驱动 <br />打开PB,菜单Tools--> system options,打开JAVA选项,点击新增文件(白色文件图标) <br />选择刚解压的mysql-connector-java-5.0.7-bin.jar文件 <br /> <br

wula0010的专栏 7244
上一篇: 启动U盘的PE系统损坏后导致U盘容量变小,甚至电脑系统无法识别
下一篇: 数据库原理——关系模式的范式的简明判断
Skr.B
博客等级 码龄8年 1103粉丝 81原创
评论 12
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Skr.B

WUHOOO~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值