做毕业设计遇到问题:在向数据库(sql2000)中插入的时候,如果数据稍微长些出现数据丢失现象,问题描述如下:
我做的是在线考试系统,要从考题库中抽取考题,生成试卷,然后要将抽取出来后的题目+选项一次性的插入到另外一个数据库中。
其中选项有四个,如果选项的题干稍微长些,就会发生此题的选项不能插入到数据库中的现象。其中,我也用了commit(),但是效果一样不行。请求高手能给予解决,高分相送,谢谢。
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
如果题目如下这么长,就会出现插入时数据丢失现象:
下列对于线性表的描述中正确的是:
(1)存储空间不一定是连续,且各元素的存储顺序是任意的任意的任意的任意的
(2)存储空间不一定是连续,且前件元素一定存储在后件元素的前面任意的任意的
(3)存储空间必须连续,且各前件元素一定存储在后件元素的前面素的前面素的
(4)存储空间必须连续,且各元素的存储顺序是任意的素的前面素的前面素的前面
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
部分代码如下:
插入数据库时的后台供调用代码:
public void executeUpdate(String sql)
{
stmt=null;
rs=null;
try
{
conn=DriverManager.getConnection(strDBUrl, "sa ", " ");
stmt=conn.createStatement();
stmt.executeQuery(sql);
conn.commit();
stmt.close();
conn.close();
}
catch(Exception ex)
{
System.err.println( "aq.executeQuery: "+ex.getMessage());
}
}
jsp代码:
while(......){
String SQL= "insert into storer(question,sbnum,pnum,answer,keys,knum)Values( ' "+ans+ " ', ' "+sbnum+ " ', ' "+pnum+ " ', ' "+answerB+ " ', ' "+keyB+ " ', ' "+knumB+ " ') ";
db1.executeUpdate(SQL);
}
------解决方案--------------------
你把你接收倒的数据打出来看撒 如果没丢失就使插入问题,
如果丢失了就是传值问题
------解决方案--------------------
难道是传说中的数据库字段分配空间过小?
不明白,关注,偶曾给同学找错误,两个小时后才发现是因为字段空间小了,所以插入的全是一片茫茫真干净。。
------解决方案--------------------
可能是你插入的数据大于表中字段设置的值
例如 表中字段是char 而你插入的数据大于char的范围。
------解决方案--------------------
查查你往里面插的那个表,某些字段的长度有问题,一定是,遇到过,
这样某些数据就丢失了
------解决方案--------------------
数据库字段类型是什么?长度是多少?