CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Web 开发 >  ASP

★★★急,剩50分,解决全给了,往ACCESS里录入数据的问题★★★

楼主onehappyboy(快乐男孩)2003-10-03 12:33:59 在 Web 开发 / ASP 提问

ACCESS数据库CONTENT字段类型是OLEDB对象(我要录入HTML的内容,很长,MENO字段怕不行),我用ASP往里面插入数据,录入内容少点的话没有问题,如果录入的内容很长,比如有5页的HTML,就会出错了,我用的方法是  
  A页面的TEXTAREA里录入数据(HTML),然后用POST方法到B页面  
  B页面接收后用INSERT   INTO的方法插入,然后EXECUTE(SQL)方法  
  ---------------  
  问题是录入很少没有问题,录入多了就出错了,提示一堆POST内容  
  怎么解决?????,在线急等,谢谢各位 问题点数:50、回复次数:11Top

1 楼54duke(萝卜肉丁)回复于 2003-10-03 13:39:37 得分 5

把content字段的类型改为备注型试一下Top

2 楼bineon(雪冬寒)回复于 2003-10-03 14:06:03 得分 5

同意楼上的,因为备注类型不限制内容长度Top

3 楼onehappyboy(快乐男孩)回复于 2003-10-03 20:38:13 得分 0

顶,不行,问题一样的,我录入的是html的内容,可能很长,怎么办??Top

4 楼007james(苏乞儿)回复于 2003-10-06 13:11:12 得分 5

不论什么内容,只要你可以在B中用response.write   写出来,那么就可以存到是OLEDB对象或者MENO字段中去,如果不行,检查你的代码好了Top

5 楼BrightEye(男儿当自强,靠别人不如靠自己)回复于 2003-10-06 13:20:37 得分 5

POST有长度限制,你提交的数据太大了,建议分开提交.Top

6 楼Ranmei(转向java)回复于 2003-10-06 13:56:50 得分 0

有点像上传图片并存入数据库,网上有这方面的资料Top

7 楼onehappyboy(快乐男孩)回复于 2003-10-08 08:58:59 得分 0

晓风残月说的对,我觉得也是这个问题,可是我一个textbox里东西怎么分开提交呢?Top

8 楼chense(JavaChen)回复于 2003-10-08 09:15:57 得分 0

用模板的方法,把页面里需要经常变动的地方取出来做成一个变量,要用的时候再用Replace替换掉。Top

9 楼fangpeng2003(阿房公(阿房制造,http://work.ahfun.net))回复于 2003-10-08 09:23:02 得分 10

微软对用Request.Form()可接收的最大数据限制为100K字节。  
  微软建议用Request.BinaryRead()读取表单数据,但由于这种方法读出的是二进制数据,需要对读出的数据逐字节进行分析,生成有意义的字符串(MSDN上的一段程序就是这样写的,但它并没有考虑诸如标点符号等转义字符需要进行特殊分析)。如果说这种方法对于纯英文系统勉强可用的话,则对于中文系统来说就有极大的麻烦,因为汉字是用两个字节表示的,而读出的二进制数据本身并不能判断是英文还是汉字(否则就不是二进制数据,而是字符串了^-^)。这样的话就必须了解汉字的编码规律才能进行分析。最后,即使算法上能把这些都分析出来,大家想想对于一个MB级的巨型字符串逐字节进行分析,其效率何如?所以,此路不通!  
   
  不过,办法总是有的。一开始我以为是整个表单数据的总和不能超过100KB,后来发现这是对表单内每个域的限制。问题的解决办法是,对于一个需要发送大数据的域,在提交表单前将数据拆分为小于限额的数份,分别放在数个hidden域中,同时把原有域清空,再正式提交表单。服务器端还是用Request.Form()读取各hidden域的数据,再按照顺序把他们拼接起来就行了。主要代码如下:  
   
  注意:需要在Form中的HTML代码内指定一个DIV,以便向其中动态插入hidden域。  
   
  ====客户端示例代码====  
  <script   language=javascript>  
  //数据拆分,并放到相应的hidden域中,在Form的onSubmit事件中激发  
  function   fnPreHandle()  
  {  
  var   iCount;   //拆分为多少个域  
  var   strData;   //原始数据  
  var   iMaxChars   =   50000;//考虑到汉字为双字节,域的最大字符数限制为50K  
  var   iBottleNeck   =   2000000;//如果文章超过2M字,需要提示用户  
  var   strHTML;  
   
  //原始数据    
  strData   =   frmTest.BigField.value;  
   
  //如果文章实在太长,需要提醒用户    
  if   (strData.length   >   iBottleNeck)  
  {  
  if   (confirm("您要发布的文章太长,建议您拆分为几部分分别发布。\n如果您坚持提交,注意需要较长时间才能提交成功。\n\n是否坚持提交?")   ==   false)  
  return   false;  
  }  
   
  iCount   =   parseInt(strData.length   /   iMaxChars)   +   1;  
   
  //hdnCount记录原数据域拆分为多少个子域  
  strHTML   =   "<input   type=hidden   name=hdnCount   value="   +   iCount   +   ">";  
   
  //生成各子域的HTML代码  
  for   (var   i   =   1;   i   <=   iCount;   i++)  
  {  
  strHTML   =   strHTML   +   "\n"   +   "<input   type=hidden   name=hdnBigField"   +   i   +   ">";  
  }  
   
  //在Form中DIV(divHidden)内动态插入各hidden域的HTML代码    
  document.all.divHidden.innerHTML   =   strHTML;  
   
  //给各子域赋值  
  for   (var   i   =   1;   i   <=   iCount;   i++)  
  {  
  frmTest.elements["hdnBigField"   +   i].value   =   strData.substring((i   -   1)   *   iMaxChars,   i   *   iMaxChars);  
  }  
   
  //原数据域清空  
  frmTest.BigField.value   =   "";  
  }  
  </script>  
   
  ====服务器端示例代码====  
  <%  
  Dim   strData  
  Dim   intFieldCount  
  Dim   i  
   
  intFieldCount   =   Request.Form("hdnCount")  
   
  For   i=1   To   intFieldCount  
  strData   =   strData   &   Request.Form("hdnBigfield"   &   i)  
  Next  
   
  Response.Write   strData  
  %>  
  Top

10 楼yzwxjun(蝼蚁飞舞)回复于 2003-10-08 09:45:01 得分 0

你就把他当成上传图片来做吧,楼上的试试看先Top

11 楼yangsm(不要让困难成为理由)回复于 2003-10-08 09:56:54 得分 0

关注ING……顶!Top

12 楼Rick110AAA(海牛猪猪 And HerosⅢ之比蒙)回复于 2003-10-08 10:08:10 得分 20

你用的是Insert语句添加,有可能提交的数据中有Sql的关键字,所以报错!  
  建议添加操作使用RecordSet对象的AddNew操作!这样可以解决添加的值中有Sql的关键字!Top

相关问题

  • 如何快速录入数据到ACCESS数据库?
  • 用DBGriD录入数据,数据库为access,为什么出现数据丢失?
  • 数据的录入
  • 关于access数据库的日期录入问题(急)
  • ACCESS中数据录入的一个简单问题!!!!!!!
  • VB+access数据录入问题,人民币500元酬谢!(广州地区)
  • 数据录入问题
  • 关系数据库的录入问题
  • Dataset 数据录入 Sql server 2000?
  • 数据录入问题???在线……

关键词

  • 录入
  • 数据
  • 字段
  • 二进制
  • 代码
  • 解决
  • 页面
  • 汉字
  • 内容
  • 分析

得分解答快速导航

  • 帖主:onehappyboy
  • 54duke
  • bineon
  • 007james
  • BrightEye
  • fangpeng2003
  • Rick110AAA

相关链接

  • Web开发类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo