另一个ASP问题,放公300

zls0303 2002-01-25 03:27:01
我现在准备用ASP开发ERP软件,以前是用PB开发,但在ASP中出现问题啊!

我开发一个产中开发录入表,采用主表和明细表方式 :主表如下:

描述
数据量 小
组成元素 数据类型 长度 代码 元素描述
计划单编号 Varchar 10 PDplan_id
制表人 Varchar 8 Fabtable_id
制表日期 Date Fabtable_date
审核人 Varchar 8 Trial_id
审核否 Char 1 Is_trial 0-没有审核(不通过),1-审核通过
审核日期 Date Trial_date
操作员 Varchar 8 Operator

明细表如下:
组成元素 数据类型 长度 代码 元素描述
计划单编号 Varchar 10 PDplan_id //外键,指向pd_pdplan_mster
产品代码 Varchar 10 Product_id //primary key
产品名称 Varchar 20 Product_name
产品规格 Varchar 12 PD_specifi
部门名称 Varchar 10 Dep_id //长度与部门长度一致
部门负责人 Varchar 8 Super_id
开发工艺 Varchar 8 PT_id //与生产工艺编号一致
需求人数 Integer Needperson_num
开始日期 Date Start_date
结束日期 Date Finish_date
工作日 Varchar 8 Job_num
备注 Varchar 80 Remark


我要用一个增行图片按钮,就是明细表增加一行啊,在PB中很少实现,在ASP中如何实现了!!
...全文
245 35 打赏 收藏 转发到动态 举报
写回复
用AI写文章
35 条回复
切换为时间正序
请发表友善的回复…
发表回复
mings 2002-01-30
  • 打赏
  • 举报
回复
To:zls0303(三少爷的剑)
毕竟B/S和C/S还是有区别的,一些在C/S设置一些属性就很容易能实现的功能,在B/S往往要写很长的代码!
你所提出的功能,我可以试试写一下!不过,现在我还没什么思路!:)
xuchu 2002-01-29
  • 打赏
  • 举报
回复
应该是这样,不好意思,上面的打错了

dim obj
set obj=server.createobject("testdll.test")
obj.sayhello
set obj=nothing
xuchu 2002-01-29
  • 打赏
  • 举报
回复
如果存为testdll.dll,接口名为test的话

然后在asp中就可以
dim obj
set obj=server.createobject("testdll.test")
test.sayhello
set obj=nothing
xuchu 2002-01-29
  • 打赏
  • 举报
回复
启动你的VB,选择ActiveX Dll图标.VB会提供一个默认的工程名(project1)和类名(class1).会将这两个名字都改成你需要的dll文件名和接口名.然后从菜单中选择"工程",在其中选择"引用",就会出现"引用"窗口,从中选择Microsoft Active Server Pages Object Library.然后,把下面这段代码复制到你的新建工程里面,

Private MyScriptingContext As ScriptingContext
Private MyApplication As Application
Private MyRequest As Request
Private MyResponse As Response
Private MyServer As Server
Private MySession As Session

Public Sub OnStartPage(PassedScriptingContext As ScriptingContext)
Set MyScriptingContext = PassedScriptingContext
Set MyApplication = MyScriptingContext.Application
Set MyRequest = MyScriptingContext.Request
Set MyResponse = MyScriptingContext.Response
Set MyServer = MyScriptingContext.Server
Set MySession = MyScriptingContext.Session
End Sub

Public Sub OnEndPage()
Set MyScriptingContext = Nothing
Set MyApplication = Nothing
Set MyRequest = Nothing
Set MyResponse = Nothing
Set MyServer = Nothing
Set MySession = Nothing
End Sub

然后你就可以像写asp一样,在vb中使用ado,唯一要注意的是不能用response/request...,而是MyResponse/MyRequest...,如下:

Public Sub SayHello()
Dim conn
Set conn = MyServer.CreateObject("adodb.connection")
conn.open "dsn=webbus;uid=sa;pwd="
Dim rs
Set rs = MyServer.CreateObject("adodb.recordset")
rs.open "select * from company", conn

MyResponse.Write rs("company")
rs.Close
Set rs = Nothing
conn.Close
Set conn = Nothing
End Sub
zls0303 2002-01-29
  • 打赏
  • 举报
回复
to hjchenemail and wenyang我的邮箱是zla0303@163.com发给我啊

我现在用ASP开发ERP软件有,准备用多层结构,所以用COM+哟
xuchu 2002-01-29
  • 打赏
  • 举报
回复
是从数据库取数据
zls0303 2002-01-29
  • 打赏
  • 举报
回复
to xuchu ,你写的不是数据存盘啊
zls0303 2002-01-29
  • 打赏
  • 举报
回复
to mings(Reinhard) ,你要在写得更完善一些哟,是这样子的

要像C/S开发软件一样,增加一行,如果没有数据,不能在增加一行

删除一行,要弹出对话框,确定是否要删除哟
xuchu 2002-01-29
  • 打赏
  • 举报
回复
呵呵,大家一起进步
zls0303 2002-01-29
  • 打赏
  • 举报
回复
to xuchu 谢谢你哟,我这个送分哟
hjchenemail 2002-01-28
  • 打赏
  • 举报
回复
何必用COM+啊,asp也有事务啊,我发给你的例子就有啊,要么一起成功,要么一起失败啊
zls0303 2002-01-28
  • 打赏
  • 举报
回复
to hjchenemail
我的邮箱是zls0303@163.com,
to hchxxzx,你们哪个是好的,我就把300分给你们,收到后,正确我就放分哟,还有啊,用事务处理如何,就是一个主表保存成功,但明细表保存不正确,这就不对,如果有一个表不能commit ,那就把两个表都不能保存,用COM+组件,如何写,VB写
mings 2002-01-28
  • 打赏
  • 举报
回复
不是我忘了写,而是zls0303(三少爷的剑)没这个要求啊,他只要能增加就行了!:)
wenyang 2002-01-28
  • 打赏
  • 举报
回复
可以 Email:wenyang120@163.net
hchxxzx 2002-01-28
  • 打赏
  • 举报
回复
mings(Reinhard):
你这个程序确实不错,但能不能再改进一下?因为有插入操作必须就需要有删除操作,但用上述方法好象很难完成删除操作啊。至于还有更难的是在任意一行上任意向上、向下插入行,任意移动行之间的内容,这些如果都能完成,才算是一个完整的程序。
挑战一下如何?
mings 2002-01-27
  • 打赏
  • 举报
回复
<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<meta name="GENERATOR" content="Microsoft FrontPage 4.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<title>addline</title>
<script language="Javascript">
var lineNum=1; //设定初始行数

function add()
{
var txt;
txt="<table border='0' width='100%'><tr><td width='50%'>第"+lineNum+"行</td><td width='50%'><input type='text' name='txt"+lineNum+"'></td></tr></table>"
ipmfg.insertAdjacentHTML("BeforeEnd",txt)
lineNum++;
}
</script>
</head>

<body>
<div align="center">
<center>
<table border="1" width="80%">
<tr>
<td width="100%" colspan="4">
<p id="ipmfg">
</td></tr>
<tr>
<td width="25%"></td>
<td width="25%"></td>
<td width="25%"></td>
<td width="25%"><input type="button" name="btn1" value="add a line" onclick="add()"></td>
</tr>
</table>
</center>
</div>

</body>

</html>
mings 2002-01-27
  • 打赏
  • 举报
回复
真的有300分吗?
flyfox 2002-01-27
  • 打赏
  • 举报
回复
hchxxzx(独自前行),来两个,谢谢!
mings 2002-01-27
  • 打赏
  • 举报
回复
我等着拿分啦!~~~
flyfox 2002-01-26
  • 打赏
  • 举报
回复

在开头用
<script language="javascript">
function setid()
{
str='<br>';
if(!window.form1.upcount.value)
window.form1.upcount.value=1;
for(i=1;i<=window.form1.upcount.value;i++)
str+='产品'+i+':<input type="text" name="产品'+i+'" style="width:400" ><br><br>';
window.upid.innerHTML=str+'<br>';
}
</script>

在body 中用
需要多少个产品
<input type="text" name="upcount" value="1" size="20">
<input type="button" name="Button" onclick="setid();" value="确定">

在form中用
<td align="left" id="upid" height="122"> 产品1:
<input type="file" name="file1" style="width:400" value="" size="20">
</td>
试试吧,跟你的要求有点不一样,是一开始就要用户确定要多少种产品,然后增加行数。
加载更多回复(15)

28,390

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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