以下方法實現(xiàn)了用戶界面登陸
成都創(chuàng)新互聯(lián)主營清水河網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,app軟件開發(fā)公司,清水河h5微信小程序搭建,清水河網(wǎng)站營銷推廣歡迎清水河等地區(qū)企業(yè)咨詢
import java.awt.*;
import java.awt.event.*;
public class DengLuJieMian extends Frame implements ActionListener
{
Label username=new Label("用戶名:");//使用文本創(chuàng)建一個用戶名標簽
TextField t1=new TextField();//創(chuàng)建一個文本框?qū)ο?/p>
Label password=new Label("密碼:");//創(chuàng)建一個密碼標簽
TextField t2=new TextField();
Button b1=new Button("登陸");//創(chuàng)建登陸按鈕
Button b2=new Button("取消");//創(chuàng)建取消按鈕
public DengLuJieMian()
{
this.setTitle("學生信息管理系統(tǒng)");//設(shè)置窗口標題
this.setLayout(null);//設(shè)置窗口布局管理器
username.setBounds(50,40,60,20);//設(shè)置姓名標簽的初始位置
this.add(username);// 將姓名標簽組件添加到容器
t1.setBounds(120,40,80,20);// 設(shè)置文本框的初始位置
this.add(t1);// 將文本框組件添加到容器
password.setBounds(50,100,60,20);//密碼標簽的初始位置
this.add(password);//將密碼標簽組件添加到容器
t2.setBounds(120,100,80,20);//設(shè)置密碼標簽的初始位置
this.add(t2);//將密碼標簽組件添加到容器
b1.setBounds(50,150,60,20);//設(shè)置登陸按鈕的初始位置
this.add(b1);//將登陸按鈕組件添加到容器
b2.setBounds(120,150,60,20);//設(shè)置取消按鈕的初始位置
this.add(b2);// 將取消按鈕組件添加到容器
b1.addActionListener(this);//給登陸按鈕添加監(jiān)聽器
b2.addActionListener(this);// 給取消按鈕添加監(jiān)聽器
this.setVisible(true);//設(shè)置窗口的可見性
this.setSize(300,200);//設(shè)置窗口的大小
addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
});//通過內(nèi)部類重寫關(guān)閉窗體的方法
}
public void actionPerformed(ActionEvent e)
{
if(e.getSource()==b1)//處理登陸事件
{
String name=t1.getText();
String pass=t2.getText();
if(name!=nullpass.equals("000123"))//判斷語句
{
new StudentJieMian();
}
}
}
public static void main(String args[])//主函數(shù)
{
new DengLuJieMian();
}
}
以下方法實現(xiàn)了學生界面設(shè)計
import java.awt.*;
import java.awt.event.*;
class StudentJieMian extends Frame implements ActionListener
{
MenuBar m=new MenuBar();//創(chuàng)建菜單欄
Menu m1=new Menu("信息");//創(chuàng)建菜單“信息”
MenuItem m11=new MenuItem("插入");//創(chuàng)建“插入”的菜單項
MenuItem m12=new MenuItem("查詢");
Menu m2=new Menu("成績");//創(chuàng)建菜單“成績”
MenuItem m21=new MenuItem("查詢");
public StudentJieMian()
{
this.setTitle("學生界面");//設(shè)置窗口標題
this.setLayout(new CardLayout());//設(shè)置窗口布局管理器
this.setMenuBar(m);//將菜單欄組件添加到容器
m.add(m1);//將信息菜單放入菜單欄
m.add(m2);
m1.add(m11);//將“插入”菜單項添加到“信息”菜單
m1.add(m12); //將“查詢”菜單項添加到“信息”菜單
m2.add(m21); //將“查詢”菜單項添加到“成績”菜單
m11.addActionListener(this); //給“插入”菜單項添加監(jiān)聽器
m12.addActionListener(this); //給“查詢”菜單項添加監(jiān)聽器
m21.addActionListener(this); //給“查詢”菜單項添加監(jiān)聽器
this.setVisible(true); //設(shè)置窗口的可見性
this.setSize(300,200); //設(shè)置窗口的大小
addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
System.exit(0);//關(guān)閉窗口
}
});
}
public void actionPerformed(ActionEvent e)
{
if(e.getSource()==m11) //處理“添加信息”事件
{
new AddStudent();
}
if(e.getSource()==m12) //處理“查詢信息”事件
{
new SelectStudent();
}
if(e.getSource()==m21) //處理“查詢成績”事件
{
new ChengJiStudent();
}
}
public static void main(String args[])
{ new StudentJieMian(); //創(chuàng)建一個對象 }
首先你得先連接數(shù)據(jù)庫
然后發(fā)送查詢語句select
好久沒連數(shù)據(jù)庫了,忘了數(shù)據(jù)庫查詢不到內(nèi)容在Java中報什么錯了,你可以試下,然后根據(jù)報錯內(nèi)容進行判斷
如果沒報錯,那就能查到內(nèi)容,發(fā)送update語句進行修改
如果報錯,是因為沒查到內(nèi)容報錯,那就發(fā)送alter語句進行新增
你是指javaDB Derby嗎?Derby數(shù)據(jù)庫是一個純用Java實現(xiàn)的內(nèi)存數(shù)據(jù)庫,屬于Apache的一個開源項目。由于是用Java實現(xiàn)的,所以可以在任何平臺上運行;另外一個特點是體積小,免安裝,只需要幾個小jar包就可以運行了。
Derby數(shù)據(jù)庫有兩種運行模式:
1) 內(nèi)嵌模式。Derby數(shù)據(jù)庫與應(yīng)用程序共享同一個JVM,通常由應(yīng)用程序負責啟動和停止,對除啟動它的應(yīng)用程序外的其它應(yīng)用程序不可見,即其它應(yīng)用程序不可訪問它;
2) 網(wǎng)絡(luò)模式。Derby數(shù)據(jù)庫獨占一個JVM,做為服務(wù)器上的一個獨立進程運行。在這種模式下,允許有多個應(yīng)用程序來訪問同一個Derby數(shù)據(jù)庫。
在Apache上,Derby有4種發(fā)布包,這里以bin發(fā)布包為例。bin發(fā)布包中含有包含了執(zhí)行derby數(shù)據(jù)庫工具、設(shè)置derby數(shù)據(jù)庫環(huán)境的腳本文件、Demo、jar文件等。
希望幫到你……
1、 安裝Derby數(shù)據(jù)庫
只需要從Derby官方網(wǎng)站下載Derby的zip或者tar包,解壓就可以了。這里以db-derby-10.4.1.3-bin版本為例,解壓后得到以下目錄:
1) bin目錄,包含了一些工具腳本和設(shè)備環(huán)境的腳本;
2) demo目錄,包含了一些實例程序;
3) docs目錄,包含了Derby的文檔;
4) javadoc目錄,包含了Derby的API文檔;
5) lib目錄,包含了Derby數(shù)據(jù)庫的jar文件;
6) test目錄,Derby的一些測試jar包;
2、 使用Derby腳本
Derby提供了幾個腳本來操作Derby數(shù)據(jù)庫,在使用這些腳本前,你必須先設(shè)置好Derby的運行環(huán)境。
下面的例子都是在命令行下設(shè)置環(huán)境變量,這些設(shè)置都是臨時的,如果你新開一個命令行窗口,則需要重新設(shè)置一遍,如果想要使環(huán)境變量永久生效,可以在我的電腦中進行設(shè)置。
首先設(shè)置好DERBY_HOME這個環(huán)境變量,為DERBY_HOME指定你的derby目錄,假如你的derby解壓到了E:\ db-derby-10.4.1.3-bin目錄下,則可以在命令行中如下設(shè)置:
set DERBY_HOME=E:\ db-derby-10.4.1.3-bin
將DERBY_HOME\bin目錄添加到PATH環(huán)境變量中:
set path=%DERBY_HOME%\bin;%PATH%
這樣可以簡化你稍后在命令行中的輸入,否則你每次都必須使用腳本的全路徑或者你必須到DERBY_HOME\bin目錄中才能執(zhí)行腳本。
最后需要Derby的jar包添加到classpath環(huán)境變量中,在DERBY_HOME%\bin目錄中提供了幾個腳本用于設(shè)置classpath,以簡化你手工在classpath中添加jar包的麻煩:
1) setEmbeddedCP。當使用內(nèi)嵌模式來運行Derby時,可以使用該腳本來設(shè)置。該腳本將derby.jar和derbytools.jar添加到環(huán)境變量中;
2) setNetworkServerCP。當使用網(wǎng)絡(luò)模式來運行Derby時,用該腳本來設(shè)置Derby服務(wù)端的classpath變量。該腳本將derbynet.jar添加到環(huán)境變量中;
3) setNetworkClientCP。當使用網(wǎng)絡(luò)模式來運行Derby時,用該腳本來設(shè)置Derby客戶端的classpath變量。該腳本將derbyclient.jar和derbytools.jar添加到環(huán)境變量中。
一般只有當你通過derbyrun.jar來運行Derby工具時才會使用這些腳本。
Derby提供了三個工具腳本:1)sysinfo;2)ij;3)dblook。運行這三個腳本時,如果你沒有設(shè)置classpath環(huán)境變量,這些腳本會自動進行設(shè)置。
1) sysinfo
使用sysinfo可以顯示你的Java環(huán)境信息和Derby的版本信息。使用方法就是在命令行下直接輸入:
sysinfo.bat
2) dblook
使用dblook可以將全部或者部分數(shù)據(jù)庫的DDL定義導(dǎo)出到控制臺或者文件中。使用方法:
dblook.bat –d sourceDBUrl [Options]
3) ij
使用ij工具來進行數(shù)據(jù)庫交互,執(zhí)行SQL腳本,如查詢、增刪改、創(chuàng)建表等等。在命令行下輸入:
ij.bat
即可啟動ij工具,然后就可以開始執(zhí)行SQL腳本了。當要退出ij工具時,在命令行下輸入
exit;
即可。
3、 使用ij腳本
1) 運行內(nèi)嵌模式的Derby數(shù)據(jù)庫
在命令行中輸入ij.bat后啟動ij工具。然后通過如下命令創(chuàng)建數(shù)據(jù)庫,并與數(shù)據(jù)庫創(chuàng)建連接:
connect ‘jdbc:derby:firstdb;create=true’;
通過connect命令可以與指定數(shù)據(jù)庫創(chuàng)建連接,通過一個JDBC URL來指定與哪個數(shù)據(jù)庫創(chuàng)建連接。ij命令是不區(qū)分大小寫的。
參數(shù)中jdbc:derby是Derby數(shù)據(jù)庫的驅(qū)動協(xié)議;firstdb是數(shù)據(jù)庫命,由于沒有指定路徑,數(shù)據(jù)庫將會被創(chuàng)建在當前你命令行下所在的目錄下;create=true表示如果數(shù)據(jù)庫不存在,則創(chuàng)建該數(shù)據(jù)庫;“;”是ij命令的終止符。
當數(shù)據(jù)庫創(chuàng)建成功時,Derby會在當前你命令行下所在的目錄下創(chuàng)建一個與數(shù)據(jù)庫命一致(這里是firstdb)的目錄,其中存放了數(shù)據(jù)庫的文件。
與數(shù)據(jù)庫連接上后,就可以開始執(zhí)行SQL腳本了,如創(chuàng)建一個表格:
create table firsttable(id int primary key, name varchar(20));
然后插入記錄:
insert into firsttable values(1, ‘Hotpepper’);
也可以執(zhí)行查詢:
select * from firsttable;
也可以通過run命令來執(zhí)行sql文件:
run 'E:\derby\demo\programs\toursdb\ToursDB_schema.sql';
最后通過exit;來退出ij工具。
你可以在當前你命令行下所在的目錄中找到一個derby.log的日志文件,derby在其中記錄的數(shù)據(jù)庫啟動、關(guān)閉的信息。
2) 運行網(wǎng)絡(luò)模式的Derby數(shù)據(jù)庫
這種模式下,需要使用兩個控制臺窗口,一個用于啟動Derby數(shù)據(jù)庫服務(wù)端,另一個做為訪問Derby數(shù)據(jù)庫的客戶端。
可以通過DERBY_HOME\bin目錄下的startNetworkServer.bat來啟動Derby數(shù)據(jù)庫服務(wù)端,只需要在命令行中輸入:
startNetworkServer.bat
數(shù)據(jù)庫就啟動了,啟動成功會在控制臺輸出如下信息:
已使用基本服務(wù)器安全策略安裝了安全管理程序。
Apache Derby Network Server - 10.4.1.3 - (648739) 已啟動并且已準備好 2008-09-06
00:38:12.540 GMT 時在端口 1527 上接受連接
在另一個控制臺使用ij命令訪問Derby數(shù)據(jù)庫服務(wù)端,在輸入ij.bat啟動ij工具后,通過如下命令建立與服務(wù)端的連接,并創(chuàng)建一個數(shù)據(jù)庫:
connect 'jdbc:derby://localhost:1527/seconddb;create=true';
參數(shù)中的數(shù)據(jù)庫命部分和內(nèi)嵌模式不同,這里使用了“//localhost:1527/”,訪問網(wǎng)絡(luò)模式的URL需要指定服務(wù)器的IP地址和端口,其它的就和內(nèi)嵌模式一樣了。
與服務(wù)端連接上后,就可以開始執(zhí)行SQL腳本了,如創(chuàng)建一個表格:
create table firsttable(id int primary key, name varchar(20));
然后插入記錄:
insert into firsttable values(1, ‘Hotpepper’);
也可以執(zhí)行查詢:
select * from firsttable;
也可以通過run命令來執(zhí)行sql文件:
run 'E:\derby\demo\programs\toursdb\ToursDB_schema.sql';
最后通過exit;來退出ij工具
4、 在Java應(yīng)用程序中訪問Derby數(shù)據(jù)庫
使用Java代碼訪問Derby數(shù)據(jù)庫與訪問其它數(shù)據(jù)庫的區(qū)別如下:
1) JDBC驅(qū)動的不同;
2) 數(shù)據(jù)庫連接URL的不同;
3) 在訪問內(nèi)嵌模式數(shù)據(jù)庫時,需要顯示關(guān)閉數(shù)據(jù)庫。
下面分別實例訪問內(nèi)嵌模式和網(wǎng)絡(luò)模式Derby數(shù)據(jù)庫的代碼
1) 訪問內(nèi)嵌模式Derby數(shù)據(jù)庫
String driver = “org.apache.derby.jdbc.EmbeddedDriver”;
String url = “jdbc:derby:firstdb;create=true”;
Connection conn;
try {
Class.forName(driver);
conn = DriverManager.getConnection(url);
}catch(Exception e) {
……
}finally {
……
DriverManager.getConnection("jdbc:derby:;shutdown=true");
}
建立好連接后,其它的數(shù)據(jù)操作,如查詢、更新數(shù)據(jù)都和其它數(shù)據(jù)庫一樣,這里不詳述。有一點需要注意,通過Java應(yīng)用程序訪問內(nèi)嵌模式Derby數(shù)據(jù)庫時,應(yīng)用程序有責任需要在程序結(jié)束時關(guān)閉Derby數(shù)據(jù)庫,如上面代碼finally中的
DriverManager.getConnection("jdbc:derby:;shutdown=true");
shutdown參數(shù)用于關(guān)閉Derby數(shù)據(jù)庫,如果url中指定了數(shù)據(jù)庫命,則只會關(guān)閉指定的數(shù)據(jù)庫,而不會關(guān)閉整個Derby數(shù)據(jù)庫。數(shù)據(jù)庫關(guān)閉成功時,Derby會拋出一個錯誤碼為XJ015和一個08006的異常表示關(guān)閉成功,應(yīng)用程序可以不處理這兩個異常。
2) 訪問網(wǎng)絡(luò)模式Derby數(shù)據(jù)庫
網(wǎng)絡(luò)模式和內(nèi)嵌模式的不同出在于:
A. 數(shù)據(jù)庫連接URL的不同;
B. 應(yīng)用程序退出時無效關(guān)閉Derby數(shù)據(jù)庫;
C. 數(shù)據(jù)庫驅(qū)動的不同;
String driver = “org.apache.derby.jdbc.ClientDriver”;
String url = “jdbc:derby: //localhost:1527/firstdb;create=true”;
Connection conn;
try {
Class.forName(driver);
conn = DriverManager.getConnection(url);
}catch(Exception e) {
……
}
由于網(wǎng)絡(luò)模式下,Derby數(shù)據(jù)庫做為一個獨立運行的數(shù)據(jù)庫,可以被多個應(yīng)用程序所訪問,所以應(yīng)用程序在運行結(jié)束時不應(yīng)該關(guān)閉Derby數(shù)據(jù)庫。
你的這個方法getConn();返回的還是一個空的conn,需要在該方法中添加代碼:
Class.forName(driverClassName);
Connection?conn=DriverManager.getConnection(url,user,pwd);
1、首先打開自己的項目
2、在項目中找到想要調(diào)試的地方,如圖,在代碼行的前方點擊設(shè)置斷點,或者把鼠標移動到代碼行,用快捷鍵“Ctrl+Shift+b”設(shè)置斷點
3、然后在上方標簽欄中,如圖操作“Debug As”-"Java Application"
4、在彈出的對話框點擊“Yes”,進入“debug模式”
5、在窗口的右上方可以看到 代碼中的相對應(yīng)得值
最簡單的辦法就是使用JDBC實現(xiàn),連接數(shù)據(jù)庫,查詢resultSet ,然后取出result,賦值到代碼中就行了