首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 .NET Java 游戏 视频 人才 外包 培训 数据库 书店 程序员
中国软件网
欢迎您:游客 | 登录 注册 帮助
  • 怎样批量插入记录到 access 里?(新贴) [已结贴,结贴人:stzxxx]
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-03-21 11:30:28 楼主
    我有一个html页面,由前面的程序生成的,里同有一个form,form里面会有一些学生信息记录,
    下面是举例生成的三条记录,这个记录条数是不确定的,有时会多有时会少,其实这个
    html 页是用来填写学生成绩的,然后POST 到 2.aspx 里去再插入到 access 里,请问怎么写代码,我没办法搞定,谢谢 

    数据库字段如下 

    chengji 表名 
    id 
    cj_kemu 科目 
    cj_danyuan 单元  
    cj_jianji 年级 
    cj_banbie 班别 
    cj_xuehao 学号 
    cj_ming 学生姓名 
    cj_chengji 成绩 

    也就是说我要将这个 html 页面的记录一次过 POST 到 2.aspx 里去,然后在2.aspx如何接收?如何写入access里?
    这是同一个问题,重开的第二个贴,因为我始终没法搞定,谢谢大家,我用的是 c# 


    (记录条数,每次生成几条是不确定的)


    ////////////// 这是我的html页面全部代码,不要看见这么长,其实就是三条记录的html
    在实际应用中,这个html页里的记录条数,每次生成几条是不确定的。

    <table width="754" border="0" align="center" cellpadding="0" cellspacing="0"> 
    <form id="form1"  action="2.aspx"  target="_blank">  <tr>  
    <td>   <div align="center">  
          
    <table width="720" border="0" align="center" cellpadding="0" cellspacing="0"> 
    <tr>  
    <td width="67" height="30">   <div align="left">  
    语文   <input type="hidden" name="XueKe" value="语文"> 
    </div>  </td> 
    <td width="101">   <div align="left">  
     第1单元   <input type="hidden" name="DanYuan" value="第1单元"> 
    </div>  </td> 
    <td width="90">   <div align="left">  
     三年级  <input type="hidden" name="NianJi" value="三年级"> 
    </div>  </td> 
    <td width="85">   <div align="left">  
    1班  <input type="hidden" name="BanBie" value="1班"> 
      </div>  </td> 
    <td width="69">  
                                   
    <div align="left"> 
    01  <input type="hidden" name="XueHao" value="01"> 
    </div>  </td> 
      <td width="88">   <div align="left"> 
    男 
    </div>  </td> 
      <td width="64">  <div align="left"> 
    钟钟  <input type=hidden name="xingming" value="钟钟">  
    </div>  </td> 
      <td width="59">  <div align="right">成绩  </div>  </td> 
    <td width="97">   <div align="center"> 
      <input name="chengji" type="text" id="chengji" size="10" maxlength="5" /> 
    </div>  </td> 
      </tr> 
    </table> 

    <table width="720" height="1" border="0" cellpadding="0" cellspacing="0" bgcolor="#DDE2F9"> 
    <tr> 
    <td width="717" height="1">  </td> 
    </tr> 
    </table> 
            
      <table width="720" border="0" align="center" cellpadding="0" cellspacing="0"> 
    <tr>  
      <td width="67" height="30">   <div align="left">  
    语文   <input type="hidden" name="XueKe" value="语文"> 
    </div>  </td> 
    <td width="101">   <div align="left">  
     第1单元   <input type="hidden" name="DanYuan" value="第1单元"> 
    </div>  </td> 
    <td width="90">   <div align="left"> 三年级 
    <input type="hidden" name="NianJi" value="三年级"> 
      </div>  </td> 
      <td width="85">   <div align="left">  
    1班  <input type="hidden" name="BanBie" value="1班"> 
    </div>  </td> 
    <td width="69">  
                                   
    <div align="left"> 
    01  <input type="hidden" name="XueHao" value="01"> 
      </div>  </td> 
    <td width="88">   <div align="left"> 
    男 
    </div>  </td> 
      <td width="64">  <div align="left"> 
     姓名  <input type=hidden name="xingming" value="姓名">  
    </div>  </td> 
    <td width="59">  <div align="right">成绩  </div>  </td> 
    <td width="97">   <div align="center"> 
      <input name="chengji" type="text" id="chengji" size="10" maxlength="5" /> 
    </div>  </td> 
    </tr> 
    </table> 
    <table width="720" height="1" border="0" cellpadding="0" cellspacing="0" bgcolor="#DDE2F9"> 
    <tr> 
    <td width="717" height="1">  </td> 
    </tr> 
    </table> 

    <table width="300" height="8" border="0" align="center" cellpadding="0" cellspacing="0"> 
    <tr> 
    <td height="8">  </td> 
    </tr> 
    </table> 
    <table width="300" border="0" align="center" cellpadding="0" cellspacing="0"> 
    <tr> 
    <td>   <div align="center"> 
    <input type="submit" name="Button1" value="确定提交" id="Button1" /> 
    </div>  </td> 
    </tr> 
      </table> 
    </div>  </td> 
      </tr>  </form> 
    </table> 

    //////////////html页面全部代码结束
    50  修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-03-21 11:44:051楼 得分:2
    这个好办

    Request["xuehao"]应该是这种格式值1,值2,值3  其实的也是相对应的这种格式..只要那些input的name是一样的 


    在cs文件里面loop读取就行了
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-03-21 11:51:252楼 得分:2
    看了楼主的想法,

    要将整个的

    字段值传入(post)到下一个页面操作

    大数据集页面之间的传递了,你最好用XML 的形式传送过去,


    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-03-21 12:23:023楼 得分:0
    楼上的网友,记录条数是不会很多的,我在一楼的只是生成的三条,我实际应用中最多不会超过60条记录POST给下一页处理,因为每班不会超过60个学生。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-03-21 12:26:384楼 得分:0
    1楼的网友,你可以帮我写出来吗?你说的我不会写啊,谢谢,关键就是,我这个生成的html 里的记录条数不确定。我不会使用你提到的LOOP读取。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-03-21 12:33:295楼 得分:2
    用ajax
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-03-21 12:54:526楼 得分:2
    post的地址
    http://localhost:1494/WebSite1/2.aspx?XueKe=%E8%AF%AD%E6%96%87&DanYuan=%E7%AC%AC1%E5%8D%95%E5%85%83&NianJi=%E4%B8%89%E5%B9%B4%E7%BA%A7&BanBie=1%E7%8F%AD&XueHao=01&xingming=%E9%92%9F%E9%92%9F&chengji=1&XueKe=%E8%AF%AD%E6%96%87&DanYuan=%E7%AC%AC1%E5%8D%95%E5%85%83&NianJi=%E4%B8%89%E5%B9%B4%E7%BA%A7&BanBie=1%E7%8F%AD&XueHao=01&xingming=%E5%A7%93%E5%90%8D&chengji=2&Button1=%E7%A1%AE%E5%AE%9A%E6%8F%90%E4%BA%A4


    C# code
    Request.QueryString["XueKe"]......
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-03-21 12:57:247楼 得分:2
    哎,这问题挺严重的.
    偶还真没研究过HTML页和ASPX页混合使用~~
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-03-21 13:15:308楼 得分:2
    lz, 你这样的想法还是放弃吧,应为地址栏中只能传递长度为256个字符长度,如果你这样传递,很容易丢失数据。
    我就不明白,你为什么不用控件呢?
    顺便告诉你一下,post这样的数据,偶搞不定。用控件应该没问题吧。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-03-21 13:45:339楼 得分:0
    楼上的网友,不是我不用控件,是不会用,不知道用什么控件,因为我生成的这个 html 页的记录,是从数据库中的另一个表中读出来的,请问这个生成的,可以用什么控件?谢谢
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-03-21 13:52:3910楼 得分:0
    我的记录是从数据库里的另一个表里读出来的,
    我生成的时候可以不是html 可以是aspx
    请问我应该用什么控件?
    这个问题三天了还是不知道怎么办
    我的目的是要将N个学生信息读取出来列在一起,然后可以填上每个人的成绩,然后一个按钮,点一下就全部同时添加到上面我说的表中去了。
    是不是我的思路本来就不科学,不可行呢?我该怎么办?谢谢大家
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-03-21 13:55:0511楼 得分:2
    Html页面到Aspx页面恐怕只有POST了。
    如果是一个Aspx页面就好管理多了,
    可以在这个aspx.cs文件里写一个插入函数,
    然后判断某字段是否为空,如不为空则执行插入操作,
    否则跳过。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-03-21 14:09:1512楼 得分:2
    不是不科学,是有点弯不好拐~~,post传值和操作数据库的问题.用HTML不好写后台.
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-03-21 14:21:1213楼 得分:2
    先别结贴吧,我帮你写代码测试:)
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-03-21 15:17:3114楼 得分:18
    我把你的代码放到HTML里面看了一下,

    语文   第1单元   三年级   1班   01   男  钟钟   成绩    
     
    语文   第1单元   三年级   1班   01   男  姓名   成绩    
     这种数据应该是已经存入在ACCESS数据表中的,那么你的HTML里面就不需要含有那么多的hidden了,比如第一条是一个记录,ID值为1,第二条也是一条记录,ID值为6,那么你在写HTML代码的时候,只需要一个隐藏文本框就行了 <input type="hidden" name="id" value="6">
    我估计你是需要获取成绩,那么你在建表的时候要考虑数据冗余。比如建一个成绩表,里面只需要存入id和成绩值就可以了(此ID可以是学号,具体你是怎么设计表结构的你自己根据情况进行修改)
    其实在你发的上一篇这个贴子的时候,我的回答是一样的

    你自己把代码拿去测试一下:)

    C# code
    OleDbConnection conn = new OleDbConnection("数据库连接字符串"); conn.Open(); OleDbCommand cmd = new OleDbCommand("", conn); string[] chengji = Request.Form["chengji"].Split(','); string[] XueKe = Request.Form["XueKe"].Split(','); string[] DanYuan = Request.Form["DanYuan"].Split(','); try { for (int i = 0; i < chengji.Length; i++) { if (string.IsNullOrEmpty(chengji[i])) { chengji[i] = "0"; } //若成绩在数据表中是字符型字段的话,下面的语句改成 //cmd.CommandText = "insert into 数据表 (chenji,xueke,danyuan) values('" + chengji[i] + "','" + XueKe[i] + "','" + DanYuan[i] + "')"; cmd.CommandText = "insert into 数据表 (chenji,xueke,danyuan) values(" + chengji[i] + ",'" + XueKe[i] + "','" + DanYuan[i] + "')"; cmd.ExecuteNonQuery(); } } catch { Response.Write("数据插入出错"); } finally { conn.Close(); }
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-03-21 15:36:3815楼 得分:2
    楼上的应该可行
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-03-21 17:04:4316楼 得分:2
    引用 15 楼 yuexiaxiaochongzi 的回复:
    楼上的应该可行


    我专门做了测试的,肯定可行的,呵
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-03-21 17:07:3117楼 得分:2
    LS的长的很像我一同学,嘿嘿
    你贵姓?
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-03-21 17:17:3318楼 得分:2
    为什么要用html?
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-03-21 17:26:3719楼 得分:2
    路过 可能楼主认为速度比较快吧
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-03-21 17:27:3920楼 得分:2
    错了,楼主是看着简单。因为楼主是老师,不是专业的
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-03-21 17:37:0921楼 得分:2
    引用 17 楼 yuexiaxiaochongzi 的回复:
    LS的长的很像我一同学,嘿嘿 
    你贵姓?


    我姓李
    同学吗?
    呵,长的像的人太多了:)
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-03-21 23:48:4722楼 得分:0
    14楼正解,不过你还要改改数据库的结构....
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-03-22 08:27:5823楼 得分:0
    access好像不支持批量插入的,也就是說一次只能插入一筆記錄
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-03-22 14:22:5124楼 得分:0
    楼主只要是搞软件开发的还是搞网站建设的?
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-03-22 18:33:2025楼 得分:0
    Mark!
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-03-25 19:19:2726楼 得分:0
    1、从html传到aspx,用xmlhttp,如果数据量大,用post方式send到aspx页
    2、插入多条记录时,在这种情况下,最好用事务,保证数据完整性
    修改 删除 举报 引用 回复

    网站简介广告服务网站地图帮助联系方式诚聘英才English 问题报告
    世纪乐知(北京)网络技术有限公司 版权所有 京 ICP 证 020026 号
    Copyright © 2000-2007, CSDN.NET, All Rights Reserved