java操作MsSQL的小例子

分类: J2EE   出处:iocblog整理  更新时间:2009-08-23   添加到收藏  
    主要由三个文件组成.一个是主执行文件,一个是用户界面文件,一个是数据模块文件.
用户界面这一块是用的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;(文章来源 www.iocblog.net)
 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_directorypluginsorg.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;
  
 }
 
}
 



文章整理:iocblog
版权申明:本站文章均来自网络,如有侵权,请联系我们,我们收到后立即删除,谢谢!
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有。