用Java保存DNS记录

什么名字最好听 2009-12-28 10:11:56
import java.net.*;
import java.io.*;
import java.sql.*;
import java.util.*;
//导入必要的类包
public class DNS2//主类DNS2
{
static Fangfa sa = new Fangfa();//创建一个Fangfa类的对象
static boolean flag=true;//成员属性
public static Connection con;
public static Statement stmt;
public static String ssql;
public static ResultSet rs;
public static String conURL="jdbc:odbc:Java";
public static void main(String args[])throws SQLException//主方法
{
DriverManager.registerDriver(new sun.jdbc.odbc.JdbcOdbcDriver());//注册SQL驱动
con=DriverManager.getConnection(conURL);//创建链接数据库对象
stmt=con.createStatement();//声明语句
Scanner sc = new Scanner(System.in);//用于从键盘读取输入的对象
while(flag)
{
printMenu();//打印主菜单
int selected = sc.nextInt();//选择的数字
switchMenu(selected);
}
}
public static void printMenu()//打印主菜单
{
System.out.println("\t1获取本地主机名");
System.out.println("\t2:通过IP地址扫描主机名称:");
System.out.println("\t3:通过主机名称查询IP地址:");
System.out.println("\t4:查看记录:");
System.out.println("\t5:清除记录:");
System.out.println("\t6:退出管理系统:");
System.out.println("\t请选择:");
}
public static void switchMenu(int n)throws SQLException
//主菜单功能,调用了sa对象的方法,并放在try语句中,因为可能抛出异常
{
switch (n)
{
case 1:
try
{
sa.localhost();
}
catch (UnknownHostException e)
{
e.toString();
}
break;
case 2:
try
{
sa.iptohost();
}
catch (IOException e)
{
System.out.println(e.toString());
}
catch (SQLException ke)
{
ke.toString();
}
break;
case 3:
try
{
sa.hosttoip();
}
catch (IOException e)
{
e.toString();
}
catch (SQLException ke)
{
ke.toString();
}
break;
case 4:
try
{
sa.showAll();
}
catch(SQLException t)
{
t.toString();
}
break;
case 5:
try
{
sa.del();
}
catch (SQLException s)
{
s.toString();
}
catch (IOException e)
{
e.toString();
}
break;
case 6:
flag=false;
System.out.println("已退出!");
break;
default:
System.out.println("输入错误,请重试!");
}
}
}
class Fangfa extends DNS2//fangfa子类,继承DNS2的属性
{
String ss;
InetAddress ipa;//InetAddress对象
public void localhost()throws UnknownHostException//第一个方法,显示本地主机名和ip
{
System.out.println
("Local Host Name:"+ipa.getLocalHost());//调用ipa的方法
}
public void iptohost()throws IOException,SQLException//第二个方法,通过ip查询主机名
{
System.out.println("请输入一个ip地址:");
BufferedReader in=new BufferedReader
(new InputStreamReader(System.in));//从标准输入中读取
String ss=in.readLine();//赋值给ss对象
System.out.println("您输入的IP是;"+ss+" ");
ipa=InetAddress.getByName(ss);//赋值给IPA
String host=ipa.getHostName();//调用ipa方法,并赋值给string,获取主机名
System.out.println("该IP主机名是:"+host);
System.out.println(" ");
System.out.println(" ");
String r1="INSERT INTO Java VALUES('ss','host')";//将执行的sql语句,向数据库输入
stmt.executeUpdate(r1);//提交修改
stmt.close();
con.close();//关闭连接
}
public void hosttoip()throws IOException,SQLException//第三个方法,通过主机名获取IP
{
System.out.println("请输入一个host:");
BufferedReader in = new BufferedReader
(new InputStreamReader(System.in));//从标准输入中读取
String ss=in.readLine();//赋值给ss对象
System.out.println("您输入的host是;"+ss+" ");
ipa=InetAddress.getByName(ss);
String i=ipa.getHostAddress();//获取主机地址并负责给i
System.out.println("该主机的IP是:"+i);
String r1="INSERT INTO Java VALUES('i','ss')";//将执行的sql语句,向数据库输入
System.out.println(" ");
System.out.println(" ");
stmt.executeUpdate(r1);//提交修改
stmt.close();
con.close();//关闭连接
}
public void showAll()throws SQLException//第四个方法,查询所有记录
{
rs=stmt.executeQuery("SELECT * From Java ORDER BY ip");//查询Java表中的所有数据,以ip为顺序排列
while(rs.next())//循环语句,直到没有下一个数据时结束
{
System.out.print(rs.getString("ip")+" ");
System.out.println(rs.getString("host"));
};
System.out.println(" ");
System.out.println(" ");
}
public void del()throws SQLException,IOException//第五个方法,删除记录
{
System.out.println("请输入一个ip地址:");
BufferedReader in=new BufferedReader
(new InputStreamReader(System.in));
String ss=in.readLine();
PreparedStatement ps=con.prepareStatement("delete from Java where ip=?");
ps.setString(1,ss);
ps.executeUpdate();
System.out.println("已删除该记录。");
stmt.close();
con.close();
System.out.println(" ");
System.out.println(" ");
}
}
程序代码如上,编译没出错,但是无法完成向数据库输入数据,我执行了ip查询主机名的程序后,无法自动保存数据,打开数据库表,里面什么东西都没有。请问这是链接问题还是其他问题?
...全文
104 2 打赏 收藏 举报
写回复
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
原来是数据库链接问题,我解决了,有相同问题可以问我。结贴。
  • 打赏
  • 举报
回复
自己做了,实在不会,大家帮帮我
相关推荐
发帖
Java

4.9w+

社区成员

Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
帖子事件
创建了帖子
2009-12-28 10:11
社区公告
暂无公告