主要由三个文件组成.一个是主执行文件,一个是用户界面文件,一个是数据模块文件.
用户界面这一块是用的eclipse的VE插件做的,只是还不知道如何发布这样的应用程序.唉...
//主程序
package com.fcgl;
public class FC {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Login.main(null);
}
}
//用户界面
package com.fcgl;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import org.eclipse.swt.SWT;
import org.eclipse.swt.graphics.Point;
import org.eclipse.swt.graphics.Rectangle;
import org.eclipse.swt.layout.FillLayout;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.List;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Text;
public class Login {
private Shell sShell = null; // @jve:decl-index=0:visual-constraint="74,10"
private Composite composite1 = null;
private Button button1 = null;
private Dm dm1;
private Label label1 = null;
private Text text1 = null;
private Text text2 = null;
private Text text3 = null;
private Text textArea1 = null;
private List list1 = null;
private Button button2 = null;
/**
* This method initializes composite1
*
*/
private void createComposite1() {
composite1 = new Composite(sShell, SWT.NONE);
composite1.setLayout(null);
button1 = new Button(composite1, SWT.NONE);
button1.setText("连接");
button1.setSize(new Point(48, 22));
button1.setLocation(new Point(176, 159));
button1.addSelectionListener(new org.eclipse.swt.events.SelectionAdapter()
{
public void widgetSelected(org.eclipse.swt.events.SelectionEvent e)
{
dm1 = new Dm();
boolean c = dm1.DconnectionOpen(text1.getText
(),text2.getText(),text3.getText());
if (button1.getText() == "连接") {
if (c == false) {
label1.setText("连接失败");
} else {
label1.setText("连接成功");
button1.setText("断开");
ResultSet rs=dm1.ExeSQL(textArea1.getText
());
try{
list1.removeAll();
while(rs.next()){
for(int i=1;i<=3;i++){
list1.add(rs.getString(i));
}
}
}
catch(Exception ee){
ee.printStackTrace();
}
}
} else {
boolean d =dm1.DconnectionClose();
if (d==false){
label1.setText("断开失败");
}
else{
label1.setText("断开成功");
button1.setText("连接");
}
}
}
});
label1 = new Label(composite1, SWT.NONE);
label1.setBounds(new Rectangle(297, 163, 83, 12));
label1.setText("");
text1 = new Text(composite1, SWT.BORDER);
text1.setBounds(new Rectangle(176, 16, 90, 17));
text2 = new Text(composite1, SWT.BORDER);
text2.setBounds(new Rectangle(176, 42, 90, 17));
text3 = new Text(composite1, SWT.BORDER);
text3.setBounds(new Rectangle(176, 69, 90, 17));
textArea1 = new Text(composite1, SWT.MULTI | SWT.WRAP | SWT.V_SCROLL |
SWT.BORDER);
textArea1.setBounds(new Rectangle(176, 91, 163, 59));
list1 = new List(composite1, SWT.BORDER);
list1.setBounds(new Rectangle(10, 11, 145, 169));
button2 = new Button(composite1, SWT.NONE);
button2.setBounds(new Rectangle(242, 160, 48, 22));
button2.setText("字段");
button2.addSelectionListener(new org.eclipse.swt.events.SelectionAdapter()
{
public void widgetSelected(org.eclipse.swt.events.SelectionEvent e)
{
list1.removeAll();
ResultSetMetaData sm=dm1.GetField();
try{
for (int i=1;i<=sm.getColumnCount();i++){
list1.add(sm.getColumnName(i));
}
}
catch(Exception ee){
ee.printStackTrace();
}
}
});
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
/* Before this is run, be sure to set up the launch configuration
(Arguments->VM Arguments)
* for the correct SWT library path in order to run with the SWT dlls.
* The dlls are located in the SWT plugin jar.
* For example, on Windows the Eclipse SWT 3.1 plugin jar is:
* installation_directory\plugins\org.eclipse.swt.win32_3.1.0.jar
*/
Display display = Display.getDefault();
Login thisClass = new Login();
thisClass.createSShell();
thisClass.sShell.open();
while (!thisClass.sShell.isDisposed()) {
if (!display.readAndDispatch())
display.sleep();
}
display.dispose();
}
/**
* This method initializes sShell
*/
private void createSShell() {
sShell = new Shell();
sShell.setText("数据库连接");
sShell.setSize(new Point(391, 221));
sShell.setLayout(new FillLayout());
/*Button btn1 =new Button(composite1,SWT.None);
btn1.setBounds(12, 12, 22, 22);
btn1.setText("连接");*/
createComposite1();
}
}
//数据模块
package com.fcgl;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.Statement;
public class Dm {
Connection dcon;
Statement stmt;
ResultSet rs = null;
ResultSetMetaData rmd;
public boolean DconnectionOpen(String i,String u,String p){
final String jdbc_driver = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
final String database_url =
"jdbc:microsoft:sqlserver://"+i+":1433;DatabaseName=vllia-temp";
final String user = u;
final String password = p;
try{
Class.forName(jdbc_driver);
dcon = DriverManager.getConnection(database_url, user,
password);
stmt = dcon.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_UPDATABLE);
}
catch (Exception e) {
e.printStackTrace();
return false;
}
return true;
}
public boolean DconnectionClose(){
try {
stmt.close();
dcon.close();
} catch (Exception e) {
e.printStackTrace();
return false;
}
return true;
}
public ResultSet ExeSQL(String s){
try{
rs=stmt.executeQuery(s);
}
catch(Exception e){
e.printStackTrace();
}
return rs;
}
public ResultSetMetaData GetField(){
try{
rmd =rs.getMetaData();
}
catch (Exception e){
e.printStackTrace();
}
return rmd;
}
}