说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

插入数据到数据库!

编辑:说三道四文库 发布时间:2017-12-16 05:23
HTML文档下载 WORD文档下载 PDF文档下载
我用dwmx做了一个网页将表单中的input的value插入数据到特定的数据库,但数据库的主键是不能为空的。我想做的效果是:在插入数据时,如果主键相对的那个input是空的,那么会弹出一个警告,提示不能为空并返回;如果不是空的,则没有任何警告,顺利添加。请问各位大虾,我该怎样写html代码,或者javascript的代码?谢谢!!
我的问题的关键是,在利用dwmx自带的插入数据库的服务器行为后,在点击按钮后,如果input的value为空值,那么它会自动提示你出错,你就不能插入数据。所以,我想在判断主键的input是否为空时,能绕过dwmx的插入行为的execute()函数,即先判断是否为空,再进行插入操作。谢谢!
使用javascript
if (form1.表单名.value==null)
{
 alert("Error!");
 return;
}
这个我试过,根本就不会执行,它绕不过execute(),预览的话,也是会提示出错,不会出现alert。
为什么把input的值做为主键,建议不要用!

为什么不会执行?是不是没有写执行语句,如果没写的话就肯定绕过去了.把你的Javascript和那个input和form的代码贴上来看看就清楚了.
这是对应数据库中主键的input,它是一个textfield
     <input name="region" type="text" id="region">
这是form的代码:
<form action="<%=MM_editAction%>" method="POST" name="heritaged" id="heritaged">
这是添加数据到数据库的代码:
if (String(Request("MM_insert")) == "heritaged") {
 
  var MM_editConnection = MM_db_STRING;
  var MM_editTable  = "dbo.HeritageD";(数据库名)
  var MM_editRedirectUrl = "index.asp";(插入成功后链接的网页)
  var MM_fieldsStr = "region|value|name|value|belong|value|climate|value|transport|value|p1|value|p2|value|p3|value|p4|value|p5|value";
  
var MM_columnsStr = "REGION|none,none,NULL|NAME|',none,''|BELONG|',none,''|CLIMATE|',none,''|TRANSPORT|',none,''|P1|',none,''|P2|',none,''|P3|',none,''|P4|',none,''|P5|',none,''";
  (相应的列名)
  // create the MM_fields and MM_columns arrays
  var MM_fields = MM_fieldsStr.split("|");
  var MM_columns = MM_columnsStr.split("|");
  
  // set the form values
  for (var i=0; i+1 < MM_fields.length; i+=2) {
    MM_fields[i+1] = String(Request.Form(MM_fields[i]));
  }

  // append the query string to the redirect URL
  if (MM_editRedirectUrl && Request.QueryString && Request.QueryString.Count > 0) {
    MM_editRedirectUrl += ((MM_editRedirectUrl.indexOf('?') == -1)?"?":"&") + Request.QueryString;
  }
}


// *** Insert Record: construct a sql insert statement and execute it

if (String(Request("MM_insert")) != "undefined") {

  // create the sql insert statement
  var MM_tableValues = "", MM_dbValues = "";
  for (var i=0; i+1 < MM_fields.length; i+=2) {
    var formVal = MM_fields[i+1];
    var MM_typesArray = MM_columns[i+1].split(",");
    var delim =    (MM_typesArray[0] != "none") ? MM_typesArray[0] : "";
    var altVal =   (MM_typesArray[1] != "none") ? MM_typesArray[1] : "";
    var emptyVal = (MM_typesArray[2] != "none") ? MM_typesArray[2] : "";
    if (formVal == "" || formVal == "undefined") {
      formVal = emptyVal;
    } else {
      if (altVal != "") {
        formVal = altVal;
      } else if (delim == "'") { // escape quotes
        formVal = "'" + formVal.replace(/'/g,"''") + "'";
      } else {
        formVal = delim + formVal + delim;
      }
    }
    MM_tableValues += ((i != 0) ? "," : "") + MM_columns[i];
    MM_dbValues += ((i != 0) ? "," : "") + formVal;
  }
  MM_editQuery = "insert into " + MM_editTable + " (" + MM_tableValues + ") values (" + MM_dbValues + ")";

  if (!MM_abortEdit) {
    // execute the insert
    var MM_editCmd = Server.CreateObject('ADODB.Command');
    MM_editCmd.ActiveConnection = MM_editConnection;
    MM_editCmd.CommandText = MM_editQuery; 
MM_editCmd.Execute(); 
    MM_editCmd.ActiveConnection.Close();

    if (MM_editRedirectUrl) {
      Response.Redirect(MM_editRedirectUrl);
    }
  }

}

我用的是dwmx自带的服务器行为中的插入记录选项,在执行时,它直接运行了execute the insert中的MM_editCmd.Execute()命令,请问qisanyou,如果要加入Java script应该加在哪里?还有,如果不把input的值作为主键,那么在添加数据到数据库时,主键的添加应该用什么对象来对应会比较好?谢谢!
不好意思,我也看不懂DW的代码.你试试下面的代码吧

既然有form,input就肯定有submit吧?这样的javascript代码可以随便放在页面的什么地方,只要不拆开来就行,这样如果没有值就会弹出一个框来,一定要输入值,当然这只是在客户端的,你也可以用ASP在服务端写,虽然更正规些不过会耗服务端资源.

<script language="JavaScript">
<!--
function check(heritaged){
    with(heritaged){
      if (region.value=="") {
        alert('请输入值');
        region.focus();
        return(false);
      }
    }
}
//-->
</script>
<form action="<%=MM_editAction%>" method="POST" name="heritaged" id="heritaged" onsubmit="return check(heritaged);">
<input name="region" type="text" id="region"><br>
<input type="submit" value="POST">
</form>
这个方案可以,问题已经解决了,qisanyou,多谢!!
《近匠》云巴创始人张虎:低门槛云服务为小团队创造更多机会 Oculus公司同意收购Xbox 360手柄设计团队 公有云VS私有云 哪个数据更安全? 调查:开发者越老越吃香吗? Facebook在线支付:取代虚拟货币的终极边界 Google I/O前析:关于新一代设计框架Quantum Paper的猜想 Google I/O 2014前瞻:“令人发指”的Android产品线 福昕熊雨前:PDFium开源项目的背后 Dropbox无法登陆,国内企业网盘横向评测! 如果编程语言是超级英雄…… 谷歌发布Material Design设计语言 系统、功能与设计,Android L究竟新在哪儿? 《近匠》游道易副总裁孙可:发行商眼中的手游市场 布道师徐立:Docker是标准化IT结构的新方式 解读全新Google Play Games:多屏游戏时代终于来了! 设计神器PaintCode 2.1发布,完全支持Swift 一周消息树:天河二号以每秒3.3亿亿次的速度再居世界超算榜首 传闻微软计划用Lumia品牌取代Surface 【CTO俱乐部读书会】杨立东:技术团队留人“三板斧” 蓝港在线王世颖:浅谈手机游戏发行的成功基因 美国高通公司执行董事长Paul E. Jacobs:移动科技——精彩现在,辉煌未来 告别公用云,Instagram已将服务迁至Facebook数据中心 华为助力凤凰实现全媒体战略 跨平台2D/3D游戏开发框架libGDX发布1.2.0更新 Docker CEO Ben Golub:Docker借助开源、天时走向成功 社交网络先驱、服役十年的Orkut被谷歌关闭 支付宝风控系统对外输出 联合机构建支付安全生态圈 不同设备不同界面:Windows 9正在逼近! 福特联手英特尔 为汽车打造智慧感应系统 《近匠》环信:标准化即时通讯与未来社交构想 支持Swift!全新“四步测”BDD框架Quick诞生 哪个空间提供商好? 菜鸟求救,为什么我的程序总终止啊!?! 如何把文件中的数据赋值给变量?(菜鸟问题) 各位大侠江湖救急啊!关于域的问题 关于菜单字体设置 百分求助!!! 怎样在EXCEL里的VBA设置密码和破解密码 有几道基础题大家来讨论 请教:XSL如何进行简单的算术运算? 请高手指点:关于字库显示问题 奇怪,我把iis的应用程序级别调到“低”后,网页里的button变得无效了 谁有移动硬盘(USB2.0)驱动?? 指针!赋值为什么会出错? 在Windows系列OS中,如何同时向两个文件夹存储文件? 从没有见过的问题~~~~~~~~~~~紧急 哪种代理上网软件可以使用2000自己的用户来控制上网? 写win socket程序的经验。(非技术) 高手看看吧 关于JTable的编辑更新(有数据库操作) ADODataSet1的小问题,马上结,急!!!! 请 wenmingxing516 () 和 feng55555() 进来解释你给分的原则! 物资管理中物资价格的处理问题!!!!!!!!!!!!!!!!!!!!!!!!感谢帮助@ 讨论:perform(),sendmessage(),postmessage()区别 怎么获得文件的修改时间? 怯怯地问一句:我下载的TreeView怎么只有360k呀? 菜鸟问题百分相赠 各位大侠江湖救急啊!关于域的问题 请问有谁写过从DBF文件读出表结构的程序吗? 系统文件u8888.dll错误,发现无法识别版本系统,要求插入cd ,怎么回事啊? 申请游戏开发版块斑竹 我想问个排序的问题。 使用“文件”对话框,另存时 大家帮忙——————在线等待!!! 鼠标单击文本框内容,怎样取得其在文本框中的位置?? 用c++编写家电超市物流管理系统 有那位帅哥可以帮帮忙吗??谢谢~嘻~`~~~ 谁有英文版的FLASH和DREAMWEAVER!! 那里有C#的电子书下载呀 新手提问,关于SQL数据库的连接代码 在unix下的ftp问题 一个简单的问题 jbuilder中的Tools->Configure Servers的对话框中没有JBoss 3.X,如何是好? SqlServer数据库的备份问题 在线求助ReportBulider如何做这样的报表? 怎样得到用户表名? 大家好帮忙啊 ——————在线等待!! 直接访问操作符"." 和间接访问操作符"->" 有什么区别 数据库优化的问题 一个文本框,有一个验证控件(判断是否为数字),还有一个textchanged事件,这是一个矛盾的东西,让我头疼~~ interface中的uses语句和implemetation中的uses语句有何不同? XP个人单机服务器配置后访问需要帐号密码,怎么办 干得不开心,想转行,大家给点建议 如何实现“让用户自定义快捷键?” 请告诉我下面这段话的含义:(如果说得好还可以加分哦!我这人很大方的!)两岸骨肉同胞用爱心架起了一座跨越海峡的生命桥.也许,小钱和这位台湾青年永远不会见面,这并不重要,因为两岸 求与椭圆x*x/49+y*y/24=1有公共点,且离心率e=5/4的双曲线 我想要知道下面几个字的读音啊 1.锭2.鬃3.酾4.樊5.搦6.枭7.傕8.崤9.毖10.篆11.蒯12.麴13.遽14.趱15.蘼16.衠17.奁18.蹙19.辔20.辇21.衢 五个关于怪盗基德的形容词 将物体竖直向上抛出,设空气阻力不变,则物体上升到最高点所需的时间与甴最高点落回原处所需的时间比较哪...将物体竖直向上抛出,设空气阻力不变,则物体上升到最高点所需的时间与甴最高 在有空气阻力的情况下,竖直上抛一个球,上升下落阶段的加速度分别为aa'上升和下落到原处的时间分别为tt', 1111 卷珠帘歌词里的不见高轩是什么意思? 娘送我们去上学第一题是用简洁的语言概括选文的内容 “娘,你别送了,”我喉咙涩涩的,“天不早了,” 摩尔的放大镜有什么用处越快越好 澳大利亚总督布赖斯访问成都 与大熊猫美国10位最高薪CEO年收入首次全部澳女子高速公路慢跑途中遭遇歹徒险些被巨型牡蛎长约35.5厘米 或为世界最巨型牡蛎长约35.5厘米 或为世界上2047年:全球高温临界点?巴西油田竞标引发抗议 示威者与军警冲法国媒体再曝美国监听法国驻美和联合国吉林省雾霾渐退影响仍持续 学校停课面中国代表在联合国呼吁支持最不发达国家酝酿八旬六连任 麦凯恩欲2016年竞关于调整完善国家助学贷款相关政策措施日本拟部署岛屿警备队 强化西南诸岛防今年1643个县遭洪涝风雹灾害 44六安金凤凰财富广场欠税 商铺房产证“驻英国大使刘晓明会见英国李约瑟研究所18万买来的虫草竟是由502胶水拼接六安一古稀老人欲为十岁养子找个“家”甲午战争120周年 北海舰队舰艇在刘中心城区排涝标准:达24小时暴雨不成生鲜家畜销量低迷 立法推动其销售量户外工作者可到这20个站点免费喝水一剑凌尘诡宋梦幻武神异界全职业导师召唤王座雄霸异国死灵狂潮巨寇影视帝国混沌美女图替身老板白公馆旅游罗汉寺旅游地缝一线天旅游天生三桥旅游好吃街旅游西安城墙长乐门旅游广佑寺旅游白塔公园旅游辽阳龙石风景旅游区旅游四明山旅游凤凰岭旅游
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘