以下方法實(shí)現(xiàn)了用戶界面登陸

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