⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 selsql.java

📁 javamail发送程序
💻 JAVA
字号:
/////////////////////////////////////////
////////数据库操作类
////////含有构造函数(获取数据录的姓名和密码)
////////含有六个函数体2个写入向量函数体,4个查询函数体
package myemail;
import java.io.*;
import java.sql.*;
import java.util.*;
public class selsql
{
  public selsql(String name,String key)
  {
    this.sName=name;
    this.sKey=key;
  }
  public selsql()
  {

  }
  //数据库查询函数
  public String SqlSelect()
   {
     try
     {
          Class.forName(DirverName);
          //DataConnection=DriverManager.getConnection(OdbcURL,"sa","");
          DataConnection=DriverManager.getConnection(OdbcURL);
          statement=DataConnection.createStatement();
          //查询邮件地址列表
          DataResultSet1=statement.executeQuery("select * From xiao where not isnull(tomail) and biaozhu<9");
          //将邮件地列表写入向量集
          this.getRetData();
          //查询发送邮件服务器列表
          DataResultSet2=statement.executeQuery("select * From smtplist");
          //将邮件服务器列表写入数组回传给调用函数
          this.getemail();
          //关闭数据库连接
          statement.close();
          return "ok";
      }
      catch(ClassNotFoundException cnfe)
      {
          System.err.println(cnfe);
          return "false";
      }
      catch(SQLException sqle)
      {
          System.err.println(sqle);
          return "false";
      }
   }
   //获得邮件收件人各行各列的数据
   public void getRetData()
  {
      try
      {
        dataRows.clear();
        ResultSetMetaData metadata = DataResultSet1.getMetaData();   //建立 ResultSetMetaData 对象
        int columns =  metadata.getColumnCount();    //获得字段总数
        String[] rowData;
        while(DataResultSet1.next())
      {
        rowData = new String[columns];
        for(int i = 0; i < columns; i++)
        {
           rowData[i] = DataResultSet1.getString(i+1);
        }
        dataRows.addElement(rowData);
      }
      //关闭记录集
      DataResultSet1.close();
      }
      catch(SQLException sqle)
      {
          System.err.println(sqle);
      }
  }
  //////////////
  //获得邮件服务器列表数据
  public void getemail()
  {
      try
      {
        emaelList.clear();
        ResultSetMetaData metadata = DataResultSet2.getMetaData();   //建立 ResultSetMetaData 对象
        int columns =  metadata.getColumnCount();    //获得字段总数
        String[] rowData;
        while(DataResultSet2.next())
      {
        rowData = new String[columns];
        for(int i = 0; i < columns; i++)
           rowData[i] = DataResultSet2.getString(i+1);

        emaelList.addElement(rowData);
      }
      //关闭记录集
      DataResultSet2.close();
      }
      catch(SQLException sqle)
      {
          System.err.println(sqle);
      }
  }
  ////////////////
  //获得邮件收件人集中的总条目
   public int getRowCount()
  {
      if(dataRows == null)
           return 0;
      else
           return dataRows.size();
  }
  ////////////////
  //获得邮件收件人某行某列的记录
  public Object getValueAt(int row, int column)
  {
      return ((String[])(dataRows.elementAt(row)))[column];
  }
  ///////////////
  //获得邮件服务器列表结果集中的总条目
   public int getEmailRom()
  {
      if(emaelList == null)
           return 0;
      else
           return emaelList.size();
  }
  ////////////////
  //获得邮件服务器列表某行某列的记录
  public Object getEmailValue(int row, int column)
  {
      return ((String[])(emaelList.elementAt(row)))[column];
  }
  //对数据库进行修改
  //本函数只记录发送成功
  public String Sqlgai(String email,String sBool)
  {
      try
      {
        Class.forName(DirverName);
        DataConnection=DriverManager.getConnection(OdbcURL);
        statement=DataConnection.createStatement();
        //记录"sYes"并且把次数归0从新开始
        int num=statement.executeUpdate("UPDATE xiao SET jilu='"+sBool+"',cishu=0 WHERE tomail = '"+email+"'");
        statement.close();
        return "发送邮件结果记录完毕";
       }
       catch(ClassNotFoundException cnfe)
       {
           System.err.println(cnfe);
           return "发送邮件结果无法记录";
       }
        catch(SQLException sqle)
       {
           System.err.println(sqle);
           return "发送邮件结果无法记录";
       }
  }
  //对数据库进行修改并计算
  //本函数只记录最终发送失败
  public String Sqlgai(String email,String sBool,int cishu)
  {
      try
      {
        Class.forName(DirverName);
        DataConnection=DriverManager.getConnection(OdbcURL);
        statement=DataConnection.createStatement();
        if (cishu>5)
        {
          if(cishu>5000)
            cishu=5000;
          int num=statement.executeUpdate("UPDATE xiao SET jilu='"+sBool+"',cishu="+cishu+",biaozhu=9 WHERE tomail = '"+email+"'");
        }
        else
        {
          int num=statement.executeUpdate("UPDATE xiao SET jilu='"+sBool+"',cishu="+cishu+" WHERE tomail = '"+email+"'");
        }

        statement.close();
        return "发送邮件结果记录完毕";
       }
       catch(ClassNotFoundException cnfe)
       {
           System.err.println(cnfe);
           return "发送邮件结果无法记录";
       }
        catch(SQLException sqle)
       {
           System.err.println(sqle);
           return "发送邮件结果无法记录";
       }
  }
  //清除昨日发送失败数据库
  public String SqlDel()
  {
    try
    {
      Class.forName(DirverName);
      DataConnection=DriverManager.getConnection(OdbcURL);
      statement=DataConnection.createStatement();
      int num=statement.executeUpdate("delete FROM sendFail");
      statement.close();
      return "清除昨日发送失败数据库成功";
    }
    catch(ClassNotFoundException cnfe)
    {
       System.err.println(cnfe);
       return "清除昨日发送失败数据库失败";
    }
    catch(SQLException sqle)
    {
       System.err.println(sqle);
       return "清除昨日发送失败数据库失败";
    }
  }
  private static Connection DataConnection;
  private static Statement statement;
  private static ResultSet DataResultSet1;
  private static ResultSet DataResultSet2;
  //private static String DirverName ="com.sybase.jdbc.SybDriver";//连接sybase数据库
  private static String DirverName ="sun.jdbc.odbc.JdbcOdbcDriver";
  //private static String OdbcURL="jdbc:sybase:Tds:WebServer:4100/userdoc?charset=eucgb&jconnect_version=0";//连接sybase数据库
  private static String OdbcURL="jdbc:odbc:emaillist";
  private Vector dataRows=new Vector();
  private Vector emaelList=new Vector();
  private String sName=new String();
  private String sKey=new String();
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -