📄 selsql.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 + -