在网上下载了一个PB+SQL程序,有数据库文件,PBL文件,机器上也已经装了PB9.0和SQL2000,求高手提取PB源码

在网上下载了一个PB+SQL程序,有数据库文件,PBL文件,机器上也已经装了PB9.0和SQL2000,求高手提取PB源码,第1张

①首先在文件夹中找到后缀为.pbw的文件这是 pb的工程文件(workspace) 如果有,安装完pb9之后应该是这样的图标样子,如下图所示! 双击就可打开pb源码。

数据库方面:首先找到数据库文件。sql的数据库文件应该是后缀.sql 的建表sql语句文件.文字部分全部粘贴出来,打开sql 2000的查询分析器: 首先选好数据库名,然后将粘贴好的建表sql放在里面。点执行 。此时sql数据库就建成了.

③然后点击pb9.0中的database 画板。按顺序点击MSS Microsoft SQL Server-右键 new profile-填写你的数据库名 服务器写点(.)即可,表示本地服务器.然后双击就可以看到数据库中的表了。还有问题可以追问.这是大致流程!

有没有pbw文件,如果有,直接双击它就可以打开(当然前提是你装了pb)。

如果没有,就需要你建立一个,以pb9为例:先建工作区,file-new-workspace页-workspace,然后附加应用,file-new-target页-existing Application,然后选中你pbl里的应用程序对象,保存后就ok了。

这是我用来交作业的程序.虽然不是自己写的.传上来再说了.

等我自己的可以用了.再传...

package jettang

import java.lang.*

import java.awt.*

import java.awt.event.*

import javax.swing.*

import java.sql.*

//////////////////////////////////////////////

//主类

public class STU {

public STU() {

try {

jbInit()

} catch (Exception ex) {

ex.printStackTrace()

}

}

public static void main(String args[]) {

new Frm_Main()

}

private void jbInit() throws Exception {

}

}

//主框架,数据库

class Frm_Main implements ActionListener { //throws IOException

public static final int EXIT_ON_CLOSE = 0

public JFrame frame

public Container c

public JMenuBar menuBar

public JMenu mainMenu1

public JMenu mainMenu2

public JMenu mainMenu3

public JMenuItem subMenu1[] = new JMenuItem[5]

public JMenuItem subMenu2[] = new JMenuItem[7]

public JMenuItem subMenu3[] = new JMenuItem[2]

JButton toolBarButton[] = new JButton[8]

public JToolBar toolBar

//////////////////////////////////////////////

String strTip[] = {"姓名查询...", "添加信息...",

"删除...", "修改...", "修改确认...",

"添加确认...", "删除确认...", "关于产品信息:)"}

//////////////////////////////////////////////

// String id = new String()

String name = new String()

String sex = new String()

String age = new String()

String classid = new String()

String department = new String()

String call = new String()

//////////////////////////////////////////////

Connection con

ResultSet rs

Statement st

// ResultSetMetaData rsmd

// Vector columnHeads=new Vector()

// Vector rows = new Vector()

// Vector currentRow=new Vector()

///////////////////////////////////////////////

public JLabel classidL = new JLabel("班级")

public JLabel nameL = new JLabel("姓名")

public JLabel sexL = new JLabel("性别")

public JLabel ageL = new JLabel("年龄")

public JLabel departmentL = new JLabel("单位")

public JLabel callL = new JLabel("电话")

public JLabel tittleLabel = new JLabel()

//////////////////////////////////////////////

public JTextField classidT = new JTextField()

public JTextField nameT = new JTextField()

public JTextField sexT = new JTextField()

public JTextField ageT = new JTextField()

public JTextField departmentT = new JTextField()

public JTextField callT = new JTextField()

public JTextArea textT = new JTextArea()

//////////////////////////////////////////////

//////////////////////////////////////////////

public Frm_Main() {

/////////////////////////////////////////////////

frame = new JFrame("学籍管理系统V1.0")

c = frame.getContentPane()

c.setLayout(null)

menuBar = new JMenuBar()

toolBar = new JToolBar()

toolBar.setFloatable(false)

frame.setJMenuBar(menuBar)

frame.setResizable(false)

////////////////////////////////////////////////

mainMenu1 = new JMenu("管理")

String str1[] = {"添加", "删除", "查询", " ", "关闭"}

for (int i = 0i <5i++) {

if (i == 3) {

mainMenu1.addSeparator()

} else {

subMenu1[i] = new JMenuItem(str1[i])

subMenu1[i].addActionListener(this)

mainMenu1.add(subMenu1[i])

}

}

menuBar.add(mainMenu1)

/////////////////////////////////////////////////

mainMenu2 = new JMenu(" *** 作")

String str2[] = {"查询", "添加", "删除", "修改",

"提交修改", "提交添加", "提交删除"}

for (int i = 0i <7i++) {

subMenu2[i] = new JMenuItem(str2[i])

subMenu2[i].addActionListener(this)

mainMenu2.add(subMenu2[i])

}

menuBar.add(mainMenu2)

/////////////////////////////////////////////////

mainMenu3 = new JMenu("集体查询")

String str3[] = {"按班级...", "按单位..."}

for (int i = 0i <2i++) {

subMenu3[i] = new JMenuItem(str3[i])

subMenu3[i].addActionListener(this)

mainMenu3.add(subMenu3[i])

}

menuBar.add(mainMenu3)

////////////////////////////////////////////////

String strToolBar[] = {"查询", "添加", "删除", "修改", "提交修改",

"提交添加", "提交删除", "关于"}

for (int i = 0i <8i++) {

toolBarButton[i] = new JButton(strToolBar[i])

toolBarButton[i].setToolTipText(strTip[i])

toolBarButton[i].addActionListener(this)

toolBar.add(toolBarButton[i])

}

toolBar.setLocation(0, 0)

toolBar.setSize(400, 30)

c.add(toolBar)

////////////////////////////////////////////////

classidL.setLocation(35, 40)

classidL.setSize(40, 20)

//classidL.setFont(new Font("",Font.BOLD,12))

c.add(classidL)

classidT.setLocation(90, 40)

classidT.setSize(200, 20)

//classidT.setEnabled(false)

c.add(classidT)

nameL.setLocation(35, 70)

nameL.setSize(40, 20)

c.add(nameL)

nameT.setLocation(90, 70)

nameT.setSize(200, 20)

c.add(nameT)

sexL.setLocation(35, 100)

sexL.setSize(40, 20)

c.add(sexL)

sexT.setLocation(90, 100)

sexT.setSize(200, 20)

c.add(sexT)

ageL.setLocation(35, 130)

ageL.setSize(40, 20)

c.add(ageL)

ageT.setLocation(90, 130)

ageT.setSize(200, 20)

c.add(ageT)

departmentL.setLocation(35, 160)

departmentL.setSize(40, 20)

c.add(departmentL)

departmentT.setLocation(90, 160)

departmentT.setSize(200, 20)

c.add(departmentT)

callL.setLocation(35, 190)

callL.setSize(40, 20)

c.add(callL)

callT.setLocation(90, 190)

callT.setSize(200, 20)

c.add(callT)

/////////////////////////////////////////////////

tittleLabel.setText("----------集体查询结果--------")

tittleLabel.setSize(300, 20)

tittleLabel.setLocation(10, 210)

c.add(tittleLabel)

////////////////////////////////////////////

textT.setSize(400, 300)

textT.setLocation(10, 240)

c.add(textT, 14)

///////////////////////////////////////////////

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)

frame.setSize(500, 650)

frame.setLocation(200, 200)

frame.setVisible(true)

conDB()

}

//以上是框架设计

//JDBC

public void conDB() {

try {

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver")

} catch (ClassNotFoundException e) {

JOptionPane.showMessageDialog(null, "数据库错误")

}

try {

con = DriverManager.getConnection("jdbc:odbc:jettang", "sa", "")

st = con.createStatement()

} catch (SQLException e) {

JOptionPane.showMessageDialog(null, "数据库连接失败")

}

}

//关闭连接

public void closeDB() {

try {

st.close()

con.close()

} catch (SQLException e) {

JOptionPane.showMessageDialog(null, "数据库关闭失败")

}

}

//事件响应

public void actionPerformed(ActionEvent e) {

//////////////////////////////////////////////

if (e.getSource() == toolBarButton[7]) {

JOptionPane.showMessageDialog(null, "当前版本1.0,designed by qyq &wxm")

}

/////////////////////////////////////////////查询(按姓名)

if (e.getSource() == subMenu2[0] || e.getSource() == toolBarButton[0] ||

e.getSource() == subMenu1[2]) {

String idid = JOptionPane.showInputDialog("请输入学生姓名")

if (idid.trim() != "") {

String strSQL = "select * from stuinfo where name ='" + idid +

"'"

try {

rs = st.executeQuery(strSQL)

int count = 0

while (rs.next()) {

classid = rs.getString("classid")

name = rs.getString("name")

department = rs.getString("department")

sex = rs.getString("sex")

age = rs.getString("age")

call = rs.getString("call")

++count

}

if (count == 0) {

JOptionPane.showMessageDialog(null, "无此信息")

} else {

classidT.setText(classid)

nameT.setText(name)

sexT.setText(sex)

ageT.setText(age)

callT.setText(call)

departmentT.setText(department)

}

} catch (Exception ex) {

JOptionPane.showMessageDialog(null, "查询失败")

}

}

}

/////////////////////////////////////////////关闭

if (e.getSource() == subMenu1[4]) {

frame.dispose()

closeDB()

}

/////////////////////////////////////////////添加

if (e.getSource() == subMenu1[0] || e.getSource() == subMenu2[1] ||

e.getSource() == toolBarButton[1]) {

JOptionPane.showMessageDialog(null, "请输入你添加的信息再点击提交添加键")

classidT.setEnabled(true)

classidT.setText("")

nameT.setText("")

sexT.setText("")

ageT.setText("")

callT.setText("")

departmentT.setText("")

}

/////////////////////////////////////////////提交添加

if (e.getSource() == toolBarButton[5] || e.getSource() == subMenu2[5]) {

if ((classidT.getText().trim()).equals("") ||

(nameT.getText().trim()).equals("") ||

(sexT.getText().trim()).equals("") ||

(ageT.getText().trim()).equals("") ||

(callT.getText().trim()).equals("") ||

(departmentT.getText().trim()).equals("")) {

JOptionPane.showMessageDialog(null, "请先点击添加键")

} else {

classid = classidT.getText()

name = nameT.getText()

sex = sexT.getText()

age = ageT.getText()

call = callT.getText()

department = departmentT.getText()

String strSQL =

"insert into stuinfo(classid,name,sex,age,call,department) values('" +

classid + "','" +

name + "','" + sex + "','" + age + "','" + call + "','" +

department + "')"

try {

st.executeUpdate(strSQL)

} catch (Exception exx) {

JOptionPane.showMessageDialog(null, "添加失败")

return

}

JOptionPane.showMessageDialog(null, "添加成功")

classidT.setText("")

nameT.setText("")

sexT.setText("")

ageT.setText("")

callT.setText("")

departmentT.setText("")

}

}

////////////////////////////////////////////提交修改

if (e.getSource() == subMenu2[4] || e.getSource() == toolBarButton[4]) {

if ((classidT.getText().trim()).equals("") ||

(nameT.getText().trim()).equals("") ||

(sexT.getText().trim()).equals("")

|| (ageT.getText().trim()).equals("") ||

(callT.getText().trim()).equals("") ||

(departmentT.getText().trim()).equals("")) {

JOptionPane.showMessageDialog(null, "请先点击修改键")

return

} else {

classid = classidT.getText()

name = nameT.getText()

sex = sexT.getText()

age = ageT.getText()

call = callT.getText()

department = departmentT.getText()

String strSQL = "update stuinfo set classid='" + classid +

"',sex='" + sex + "',age='" + age + "',call='" +

call + "',department='" + department + "'" +

"where name='" + name + "'"

try {

st.executeUpdate(strSQL)

} catch (Exception exx) {

JOptionPane.showMessageDialog(null, "修改失败")

return

}

JOptionPane.showMessageDialog(null, "修改成功")

classidT.setText("")

nameT.setText("")

sexT.setText("")

ageT.setText("")

callT.setText("")

departmentT.setText("")

}

}

///////////////////////////////////////////////修改

if (e.getSource() == subMenu2[3] || e.getSource() == toolBarButton[3]) {

String idid = JOptionPane.showInputDialog

("请输入你要修改的学生姓名后点击提交修改键确认")

if (idid.trim() != "") {

String strSQL = "select * from stuinfo where name ='" + idid +

"'"

try {

rs = st.executeQuery(strSQL)

int count = 0

while (rs.next()) {

classid = rs.getString("classid")

name = rs.getString("name")

department = rs.getString("department")

sex = rs.getString("sex")

age = rs.getString("age")

call = rs.getString("call")

++count

}

if (count == 0) {

JOptionPane.showMessageDialog(null, "无此信息")

} else {

classidT.setText(classid)

nameT.setText(name)

sexT.setText(sex)

ageT.setText(age)

callT.setText(call)

departmentT.setText(department)

classidT.setEnabled(false)

}

} catch (Exception ex) {

JOptionPane.showMessageDialog(null, "修改失败")

}

}

}

/////////////////////////////////////////////////删除

if (e.getSource() == subMenu2[2] || e.getSource() == toolBarButton[2] ||

e.getSource() == subMenu1[1]) {

String idDel = JOptionPane.showInputDialog

("请输入要删除的学生姓名后点击提交删除键确认")

if (idDel.trim() != "") {

String strSQL = "select * from stuinfo where name ='" + idDel +

"'"

try {

rs = st.executeQuery(strSQL)

int count = 0

while (rs.next()) {

classid = rs.getString("classid")

name = rs.getString("name")

department = rs.getString("department")

sex = rs.getString("sex")

age = rs.getString("age")

call = rs.getString("call")

++count

}

if (count == 0) {

JOptionPane.showMessageDialog(null, "无此信息")

} else {

classidT.setText(classid)

nameT.setText(name)

sexT.setText(sex)

ageT.setText(age)

callT.setText(call)

departmentT.setText(department)

classidT.setEnabled(false)

}

} catch (Exception ex) {

JOptionPane.showMessageDialog(null, "删除失败")

}

}

}

//////////////////////////////////////////////////提交删除

if (e.getSource() == toolBarButton[6] ||

e.getSource() == subMenu2[6]) {

if ((classidT.getText().trim()).equals("") ||

(nameT.getText().trim()).equals("") ||

(sexT.getText().trim()).equals("") ||

(ageT.getText().trim()).equals("") ||

(callT.getText().trim()).equals("") ||

(departmentT.getText().trim()).equals("")) {

JOptionPane.showMessageDialog(null, "请先点击删除键")

return

} else {

name = nameT.getText()

String strSQL = "delete from stuinfo where name='" + name +

"'"

try {

st.executeUpdate(strSQL)

} catch (Exception exx) {

JOptionPane.showMessageDialog(null, "删除失败")

return

}

JOptionPane.showMessageDialog(null, "删除成功")

classidT.setText("")

nameT.setText("")

sexT.setText("")

ageT.setText("")

callT.setText("")

departmentT.setText("")

}

}

//////////////////////////////////////////////集体查询(按班级)

if (e.getSource() == subMenu3[0]) {

classidT.setText("")

nameT.setText("")

sexT.setText("")

ageT.setText("")

callT.setText("")

departmentT.setText("")

if ((classidT.getText().trim()).equals("")) {

String idclass = JOptionPane.showInputDialog("请输入班级")

String strSQL = "select * from stuinfo where classid='" +

idclass +

"'"

try {

rs = st.executeQuery(strSQL)

displayres(rs)

} catch (Exception ex) {

JOptionPane.showMessageDialog(null, "查询失败")

}

} else {

String idclass = classidT.getText()

String strSQL = "select * from stuinfo where classid='" +

idclass +

"'"

try {

rs = st.executeQuery(strSQL)

displayres(rs)

} catch (Exception ex) {

JOptionPane.showMessageDialog(null, "查询失败")

}

}

}

////////////////////////////按单位

if (e.getSource() == subMenu3[1]) {

classidT.setText("")

nameT.setText("")

sexT.setText("")

ageT.setText("")

callT.setText("")

departmentT.setText("")

if ((departmentT.getText().trim()).equals("")) {

String idclass = JOptionPane.showInputDialog("请输入单位")

String strSQL = "select * from stuinfo where department='" +

idclass +

"'"

try {

rs = st.executeQuery(strSQL)

displayres(rs)

} catch (Exception ex) {

JOptionPane.showMessageDialog(null, "查询失败")

}

} else {

String idclass = departmentT.getText()

String strSQL = "select * from stuinfo where department='" +

idclass +

"'"

try {

rs = st.executeQuery(strSQL)

displayres(rs)

} catch (Exception ex) {

JOptionPane.showMessageDialog(null, "查询失败")

}

}

}

}

public void displayres(ResultSet rs1) throws SQLException {

//定位到达第一条记录

boolean moreRecords = rs1.next()

//如果没有记录,则提示一条消息

if (!moreRecords) {

JOptionPane.showMessageDialog(null, "无此记录")

return

}

try {

//获取数据

getNextRow(rs1)

//刷新Table

c.validate()

}

catch (SQLException sqlex) {

sqlex.printStackTrace()

}

}

public void getNextRow(ResultSet rs2) throws

SQLException {

int count = 1

while (rs2.next()) {

name = " 姓名:" + rs2.getString(1)

age = " 年龄:" + rs2.getString(2) + " 单位:"

department = rs2.getString(3) + "\n"

textT.append(count + "." + name + age + department)

count++

}

}

}


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/12027787.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存