用JAVA往数据库写入数据,既没有抛出异常,也没有写入成功,怎么办
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用JAVA往数据库写入数据,既没有抛出异常,也没有写入成功,怎么办相关的知识,希望对你有一定的参考价值。
用eclipse写的
数据库是SQL Server 2008
代码在我的空间里:
http://hi.baidu.com/郑气水/ihome/myblog
import java.io.*;
import java.util.*;
class str14
InputStreamReader stdin=new InputStreamReader(System.in);
BufferedReader bufin=new BufferedReader(stdin);
public static void main(String args[]) throws IOException
new str14();//run the application
public str14() throws IOException//constructor
Hashtable htable=new Hashtable(20,0.75F);
dataBase(htable);
public str14(Hashtable htable) throws IOException //override the constructor
dataBase(htable);
public void dataBase(Hashtable htable) throws IOException
int count=htable.size();//get the ammount of the data in htable
int value,id,num;
String key,enter,data;
Enumeration keys=htable.keys();//get all the key in htable
Enumeration elements=htable.elements();//get all the elements in htable
System.out.println("
Hashtable 数据库程序
");
System.out.println("(1)输入数据");
System.out.println("(2)请除所有数据");
System.out.println("(3)显示单笔数据");
System.out.println("(4)删除单笔数据");
System.out.println("(5)显示所有数据");
System.out.println("(6)结束程序");
System.out.print("请输入您的选择:");
value=select();//call select(),return the function number
switch(value)//the function
case 1:
System.out.print("
请输入一笔数据:");//need data input
data=bufin.readLine();
count++;
key=String.valueOf(count);
htable.put(key,data);//store it to the htable
System.out.print("
输入完成,按任意键继续...");
enter=bufin.readLine();
new str14(htable);//reenter
break;
case 2://clear all data from the htable
htable.clear();
System.out.print("
已删除了所有数据... 按任意键继续...");
enter=bufin.readLine();
new str14(htable);//reenter
break;
case 3:
System.out.print("
请输入要显示的数据编号:");
id=getid(count);//call getid()
key=String.valueOf(id);
Object select=htable.get(key);//fetch the data from the htable
data=select.toString();
System.out.print("
编号"+" "+"内容");
System.out.println("
"+key+" "+data);//display the data
System.out.print("
按任意键继续...");
enter=bufin.readLine();
new str14(htable);//reenter
break;
case 4:
System.out.print("请输入要删除的数据编号:");
id=getid(count);
key=String.valueOf(id);
htable.remove(key);//remove data
count--;
num=count;
System.out.print("已删除了所选择的数据...按任意见继续...");
Hashtable htable1=new Hashtable(20,0.75F);//create new htable named htable1
elements=htable.elements();//fetch all the data from htable
while(elements.hasMoreElements())
key=String.valueOf(num);//a new value
data=(String)elements.nextElement();//fetch content of the data
htable1.put(key,data);//store it to htable1
num--;
htable.clear();
enter=bufin.readLine();
new str14(htable1);
break;
case 5:
String[] sortkey=new String[count];//create a new sort array
String[] sortdata=new String[count];
num=count;
elements=htable.elements();
keys=htable.keys();
while(elements.hasMoreElements())
key=(String)keys.nextElement();//fetch value of key
data=(String)elements.nextElement();//fetch value of data
sortkey[num-1]=key;//store the value of key to sortkey array
sortdata[num-1]=data;//store the value of data to sortdata array
num--;
System.out.println("
编号"+" "+"内容");
for(int i=0;i<count;i++)//display all content after sorting
System.out.println(" "+sortkey[i]+" "+sortdata[i]);
System.out.print("
目前共有"+count+"笔数据");
System.out.print("
按任意键继续...");
enter=bufin.readLine();
new str14(htable);
break;
default:
public int select() throws IOException//method of getting a function selector
String input;
int value=0;
input=bufin.readLine();//read a input from keyboard
try
value=Integer.parseInt(input);//convert a string to a int value
catch(NumberFormatException e)//can't vonverted
System.out.print("请输入选项1~6:");
value=select();
if(value>6||value<1)//if exceed then print a message and reenter
System.out.print("请输入选项1~6:");
value=select();
return value;//return a value
public int getid(int count)throws IOException//a method of return the number of data
String input;
int value=0;
input=bufin.readLine();//read a user input string from keyboard
try
value=Integer.parseInt(input);//convert the string to a int
catch(NumberFormatException e)//if can't convert to a integer then reenter
System.out.print("请输入数据编号:");
value=getid(count);
if(value>count)//the input value is out of bound
System.out.print("无此编号的数据,请重新输入:");
getid(count);
return value;//return a value
追问
我只是在一个最基本的数据库写入上出错了,我想要的是错误的解决方法,而不是一个面向用户的编程思路。
关于数据库写入的,在你的答案里我好像没有看到。
怎么启动?
追答插入完毕后要commit一下
追问commit 完还不行……
本回答被提问者采纳 参考技术B 启动服务,到控制面板里早吧追问服务好像都启动了
SQL Server(MSSQLSERVER)和一些其他的对吧
以上是关于用JAVA往数据库写入数据,既没有抛出异常,也没有写入成功,怎么办的主要内容,如果未能解决你的问题,请参考以下文章
用Java连接Oracle ,可以用Java往Oracle写入数据,但是用sql往Oracle插入数据时,关闭了再打开,数据消失