📄 connect.java
字号:
/*##################################################################**
**# LyBBS ver 1.2.b2 (1.2.beta-2版) / 凌云论坛 ver 1.2.b2 #**
**# #**
**# 版权所有: 凌云工作室 (原流星电脑工作室) #**
**# #**
**# 制作人 : 星语凌 『teddy (Yongshan Ye)』 #**
**# #**
**# 主页地址: http://www.unix-now.com/lybbs 凌云论坛主页 #**
**# http://www.ierp.info/lybbs 凌云论坛镜像站 #**
**# http://horseye@sina.com/ 凌云论坛支持信箱 #**
**# #**
**##################################################################*/
package lybbs;
import java.io.*;
import java.sql.*;
import javax.mail.*;
import javax.mail.internet.*;
import javax.activation.*;
import java.util.*;
import java.util.Date.*;
public class connect{
String sDBDriver = "org.gjt.mm.mysql.Driver";
String sConnStr = null;
Connection conn = null;
ResultSet rs = null,rs2=null,rs3=null;
Statement stmt=null;
//这里设置你的数据库连接帐号
User user=new User();
String username=user.username();
String password=user.password();
public boolean connect(String ip, String host) {
boolean connectok=true;
try {sConnStr="jdbc:mysql://"+ip+"/"+host+"?user="+username+"&password="+password+"&useUnicode=true&characterEncoding=gb2312";
Class.forName(sDBDriver).newInstance();
conn = DriverManager.getConnection(sConnStr);
stmt = conn.createStatement(ResultSet.TYPE_FORWARD_ONLY ,ResultSet.CONCUR_UPDATABLE);
}
catch(Exception e) {
connectok=false;
System.err.println("数据库连接错误!\n详细信息: "+e.getMessage());
}
return connectok;
}
public ResultSet executeQuery(String sql) {
try {
rs = stmt.executeQuery(sql);
}
catch(SQLException ex) {
System.err.println("aq.executeQuery: " + ex.getMessage());
System.err.println("aq.executeQuerystrSQL: " + sql);
}
return rs;
}
public ResultSet executeQuery2(String sql) {
try {
Statement stmt2=conn.createStatement(ResultSet.TYPE_FORWARD_ONLY ,ResultSet.CONCUR_UPDATABLE);
rs2=stmt2.executeQuery(sql);
stmt2.close();
}
catch(SQLException ex) {
System.err.println("aq.executeQuery: " + ex.getMessage());
System.err.println("aq.executeQuerystrSQL: " + sql);
}
return rs2;
}
public ResultSet executeQuery3(String sql) {
try {
Statement stmt3=conn.createStatement(ResultSet.TYPE_FORWARD_ONLY ,ResultSet.CONCUR_UPDATABLE);
rs3=stmt3.executeQuery(sql);
stmt3.close();
}
catch(SQLException ex) {
System.err.println("aq.executeQuery: " + ex.getMessage());
System.err.println("aq.executeQuerystrSQL: " + sql);
}
return rs3;
}
public boolean executeUpdate(String sql)
{boolean updateok=true;
try {
Statement stmt2=conn.createStatement(ResultSet.TYPE_FORWARD_ONLY ,ResultSet.CONCUR_UPDATABLE);
stmt2.executeQuery(sql);
stmt2.close();
}
catch(SQLException ex) {
updateok=false;
System.err.println("ExecuteUpdate error: " + ex.getMessage());
System.err.println("ExecuteUpdatestrSQL error: " + sql);
}
return updateok;
}
public int getRowNum(String table)
{
int rsnum=0;
try
{String sql="select count(*) from "+table;
Statement stmt3=conn.createStatement(ResultSet.TYPE_FORWARD_ONLY ,ResultSet.CONCUR_UPDATABLE);
ResultSet rs3=stmt3.executeQuery(sql);
if(rs3.next())
rsnum=rs3.getInt(1);
rs3.close();
stmt3.close();
}
catch(Exception e)
{System.err.println("GetNumRows error:"+e.getMessage());
}
return rsnum;
}
public String native2unicode(String s)
{
if(s==null || s.length()==0)
{return null;
}
try
{byte[] buffer=new byte[s.length()*2];
int j=0;
for(int i=0;i<s.length();i++)
{if(s.charAt(i)>=0x100)
{char c=s.charAt(i);
byte []buf=(""+c).getBytes();
buffer[j++]=(byte)buf[0];
buffer[j++]=(byte)buf[1];
}
else
{buffer[j++]=(byte)s.charAt(i);}
}
return new String(buffer,0,j);
}
catch(Exception e)
{byte[] b=s.getBytes();
try
{return (new String(b,"gb2312"));
}
catch (Exception err)
{return null;
}
}
}
public String ascii2native(char[] b)
{return new String(b);
}
public String Replace(String source, String oldString, String newString) {
StringBuffer output = new StringBuffer();
int lengthOfSource = source.length(); // 源字符串长度
int lengthOfOld = oldString.length(); // 老字符串长度
int posStart = 0; // 开始搜索位置
int pos; // 搜索到老字符串的位置
while ((pos = source.indexOf(oldString, posStart)) >= 0) {
output.append(source.substring(posStart, pos));
output.append(newString);
posStart = pos + lengthOfOld;
}
if (posStart < lengthOfSource) {
output.append(source.substring(posStart));
}
return output.toString();
}
/**
* 将字符串格式化成 HTML 代码输出
*
* @param str 要格式化的字符串
* @return 格式化后的字符串
*/
public String toHtml(String str) {
String html = str;
html = Replace(html, "&", "&");
html = Replace(html, "<", "<");
html = Replace(html, ">", ">");
html = Replace(html, "\r\n", "\n");
html = Replace(html, "\n", "<br>\n");
html = Replace(html, "\t", " ");
html = Replace(html, "\\", "\\\\");
html = Replace(html, "\'", "\\\'");
html = Replace(html, "\"", "\\\"");
html = Replace(html, " ", " "); //两个英文空格
return html;
}
/**
* 替换\n为<br>
*
* @param str 要格式化的字符串
* @return 格式化后的字符串
*/
public String toBr(String str) {
String html = str;
html = Replace(html, "\r\n", "\n");
html = Replace(html, "\n", "<br>\n");
html = Replace(html, "\t", " ");
html = Replace(html, "\\", "\\\\");
html = Replace(html, "\'", "\\\'");
html = Replace(html, "\"", "\\\"");
html = Replace(html, " ", " "); //两个英文空格
return html;
}
/**
* 替换char字节
*/
public String ReplaceChar(String str,char oldChar,char newChar) {
String html = str;
html = html.replace(oldChar, newChar);
return html;
}
/**
* 替换凌云标签
*
* @param str 要格式化的字符串
* @return 格式化后的字符串
*/
public String toLyCode(String str) {
String source = str;
String output = "",url="",urltitle="";
String oldString="",oldLastString="";
int lengthOfOld = 0;
int lengthOfLastOld=0;
int posStart = 0;
int pos=0,pos2=0,pos3=0;
posStart=0;
oldString="[url]";
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -