如何添加动态table中的数据到数据库02?

周药师 2008-06-17 03:34:21
由于上贴 如何添加动态table中的数据到数据库01?不能回复了 浪费我的分数!
在次重新发贴:
String name1[]=(String[])request.getParameterValues("hid");
try{
System.out.println("aaaaa");
for(int i=0;i<name1.length;i++)
{
System.out.println("1234");
String sql="insert into cesi (id1)";
sql+="values('"+name1[i]+"')";

db.setsql(sql);
db.update(sql);
}
response.sendRedirect("tj2.jsp");
}
catch(Exception e)
{
System.out.println("SQL Error!");
}
"aaaaa"通过
但好像及不了循环 “1234”通不过?
大哥 帮帮我啊
...全文
589 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
周药师 2008-06-18
  • 打赏
  • 举报
回复
可以了
但split下
添加到数据库里面的数据变成了乱码?
怎么回事??
十一文 2008-06-18
  • 打赏
  • 举报
回复
需要split下
应该可以的a
Go 旅城通票 2008-06-18
  • 打赏
  • 举报
回复
document.getElementById('hid').value = arrDb;//request.getParameter('hid')即可,此时的hid为arrDb中的项,默认用,分隔开,所以在java中还需要split下


String  name1[]=request.getParameterValues("hid").split(",");//这里需要split下,默认的分隔符号为",",除非在js中指定了其他的分隔符号
周药师 2008-06-18
  • 打赏
  • 举报
回复
System.out.println(name1.length);


这个显示的值是“ 1 ”;
长度始终是“1”;
估计接受的数据不是数组
而变成一个字符串了
该怎么办啊?
周药师 2008-06-18
  • 打赏
  • 举报
回复
又有个问题
表里没有输入数据的时候
单击“更新到数据库”时,数据库也会自动增加一行 空白行 ?

单击“reset” 时 数据库同样也会增加一行空白行 ?
?? 怎么回事啊
周药师 2008-06-18
  • 打赏
  • 举报
回复
可以了,可以添加数据到数据库了
但无论我用
String name1[]=(String[])request.getParameterValues("hid");
循环取值
还是用
String name1 = new String(request.getParameter("hid").getBytes("ISO-8859-1")).trim();
取字符
表里添加的数据都在一个单元格里面了
id1 id2
小王外省人 ,小王 NULL

好像没有按循环去一个一个添加?
怎么回事啊?

周药师 2008-06-18
  • 打赏
  • 举报
回复
已经结贴
谢谢!!
周药师 2008-06-18
  • 打赏
  • 举报
回复
已经搞定!
谢谢!
Go 旅城通票 2008-06-18
  • 打赏
  • 举报
回复
你可以修改我给你的正则啊,我是把&bnsp;这种空白符号一起替换了,如果你要存储 的话,把正则修改下

//你需要修改的是这个正则,要替换
//var reg=/^( | )*|( | )*$/gi//去掉首尾的空格========== 这种空格也替换了
//==>
var reg=/^ *| *$/gi//去掉首尾的空格==========
周药师 2008-06-18
  • 打赏
  • 举报
回复
提交有反应了

但无论提交到少行数据,
添加到数据库的是空白的一行

周药师 2008-06-18
  • 打赏
  • 举报
回复
大哥 改成你这样了
都通不过了??
点击“提交”都没反应了??
Go 旅城通票 2008-06-18
  • 打赏
  • 举报
回复
把空的行不发送到服务器就好了
//给string类型添加一个原型trim
String.prototype.trim=function(reg){if(reg)return this.replace(reg,"");else return this.replace(/^\s*|\s*$/g,"");}
function sub(){
var oTbl = $('otbl');
//alert(oTbl.rows.length)
if(num < oTbl.rows.length){
oTbl.rows(num).cells(0).innerText = $('oname').value;
oTbl.rows(num).cells(1).innerText = $('oage').value;

}else{
alert(num)
var oRow = oTbl.insertRow(num);
var oCell = oRow.insertCell(0);
var oCell1 = oRow.insertCell(1);
oCell.innerText += $('oname').value;
oCell1.innerText += $('oage').value;

}
num++;

}

//这个是正则,提供给string.trim用的,需要去掉的字符
var reg=/^( | )*|( | )*$/gi//去掉首尾的空格==========
var arrDb = new Array();
function Dbclick(){
var oTbl = $('otbl');
for(var i=0;i<oTbl.rows.length;i++){
for(var j=0;j<oTbl.rows(i).cells.length;j++){
if(oTbl.rows(i).cells(j).innerText.trim().trim(reg)!="")//不为空
arrDb.push(encodeURI(oTbl.rows(i).cells(j).innerText));//==============编码一下
}
}
document.getElementById('hid').value = arrDb;//request.getParameter('hid')即可
alert(arrDb.length);
alert(arrDb.toString())//

}
周药师 2008-06-18
  • 打赏
  • 举报
回复
谢谢,<BODY>
<INPUT TYPE="text" id='oname' value='小王'>
<INPUT TYPE="text" id='oage' value = '22'>
<INPUT TYPE="hidden" id="hid">//这是一个隐藏字段
<INPUT TYPE="button" value='提交' onclick="sub()">
<INPUT TYPE="button" value="更新到数据库" onclick='Dbclick()'>
<TABLE border='1'id='otbl'>
<TR>
<TD>  </TD>
<TD>  </TD>
</TR>
<TR>
<TD>  </TD>
<TD>  </TD>
</TR>
<TR>
<TD>  </TD>
<TD>  </TD>
</TR>
<TR>
<TD>  </TD>
<TD>  </TD>
</TR>
</TABLE>
</BODY>
</HTML>
现在只插入一条数据,初始化table表中多余的没有数据的行 也会成空白添加到数据库, 如:
id1 id1
1 小王 22
2 小王 22
3
4
3和4行就变成空白,再一次添加数据 ,就从第5行开始添加,
不知道怎样才能不添加空白行,
再一次添加数据 直接从第3行开始添加???
Go 旅城通票 2008-06-18
  • 打赏
  • 举报
回复
编码不一致,把编码改一致来

试下下面的,使用escape/encodeURI编码下

 function sub(){ 
var oTbl = $('otbl');
//alert(oTbl.rows.length)
if(num < oTbl.rows.length){
oTbl.rows(num).cells(0).innerText = $('oname').value;
oTbl.rows(num).cells(1).innerText = $('oage').value;

}else{
alert(num)
var oRow = oTbl.insertRow(num);
var oCell = oRow.insertCell(0);
var oCell1 = oRow.insertCell(1);
oCell.innerText += $('oname').value;
oCell1.innerText += $('oage').value;

}
num++;

}
var arrDb = new Array();
function Dbclick(){
var oTbl = $('otbl');
for(var i=0;i<oTbl.rows.length;i++){
for(var j=0;j<oTbl.rows(i).cells.length;j++){
arrDb.push(encodeURI(oTbl.rows(i).cells(j).innerText));//==============编码一下
}
}
document.getElementById('hid').value = arrDb;//request.getParameter('hid')即可
alert(arrDb.length);
alert(arrDb.toString())//

}


邓臻昊 2008-06-17
  • 打赏
  • 举报
回复
打印数组长度看看
语句中的表名对不对
s_liangchao1s 2008-06-17
  • 打赏
  • 举报
回复


System.out.println(name1.length);

看看取没取到。。。
最近工作有点忙 白天上不了csdn...
周药师 2008-06-17
  • 打赏
  • 举报
回复
??
不懂了
mingxuan3000 2008-06-17
  • 打赏
  • 举报
回复
hid
是个字符串,你在组合的时候可以用,连接,然后用split(",")来分割成数组
周药师 2008-06-17
  • 打赏
  • 举报
回复
就是这个通不过啊?
前面的代码在
如何添加动态table中的数据到数据库01?
http://topic.csdn.net/u/20080616/13/9256f13b-8151-4160-a72f-edb4137ce4cc.html
fuyou001 2008-06-17
  • 打赏
  • 举报
回复
你打出name1.length这个看看是多少?
在设计数据时,对现实世界进行分析、抽象、并从找出内在联系,进而确定数据的结构,这一过程就称为数据建模。它主要包括两部分内容:确定最基本的数据结构;对约束建模。数据建模的过程:概念模型->逻辑模型->物理模型概念模型的用途:概念模型用于信息世界的建模是现实世界到机器世界的一个间层次是数据设计的有力工具数据设计人员和用户之间进行交流的语言 对概念模型的基本要求: 较强的语义表达能力能够方便、直接地表达应用的各种语义知识简单、清晰、易于用户理解  逻辑模型:对概念模型的进一步细化,逻辑模型主要包括网状模型、层次模型、关系模型、面向对象模型等 物理模型:是概念数据模型和逻辑数据模型在计算机的具体表示。该模型描述了数据在物理存储介质上的具体组织结构,不但与具体的数据管理系统相关,同时还与具体的操作系统以及硬件有关。 可以通过物理模型直接生成对应数据的SQL,也在此模型上调整对应数据特有的内容。比如Oracle的表空间等。 对于数据模型的建模,最有名的要数PowerDesigner,PowerDesigner是在国软件公司非常有名的,其易用性、功能、对流行技术框架的支持、以及它的模型库的管理理念,都深受设计师们喜欢。他的优势在于:不用在使用create table等语句创建表结构,数据设计人员只关注如何进行数据建模即可,将来的数据语句,可以自动生成 课程将基于上述理论进行讲解,会讲解理论以及实战,课程涉及内容:数据设计思想1、建模理论2、设计规范数据建模设计1、逻辑模型2、物理模型3、汽车租赁系统建模实战 

87,923

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧