Strsql = "SELECT a.area,a.department_id,b.employee_name,c.* FROM rs_department a,rs_employee b,FY_JOURNA c where a.department_id = b.department_id and b.employee_id=c.employeeid " AddRs.Open Strsql, cn, 1, 3 现在我想向FY_JOURNA表中增加数据,请问我应该怎么办. FY_JOURNA中字段如下(area,departmentid,EMPLOYEEID,EMPLOYEENAME) 请大家看看
主要的工作是打开三张表后~~ 我想执行这个功能 AddRs.Open Strsql, cn, 1, 3 If AddRs.EOF Then AddRs("area") = Session("area") AddRs("departmentid") = Session("department_id") AddRs("EMPLOYEEID") = Session("employee_id") AddRs("EMPLOYEENAME") = Session("employee_name") AddRs("czdate") = Now() AddRs.Update AddRs.Close Set AddRs = Nothing 向FY_JOURNA表中加入上面的数据
我把整个代码贴上: Set AddRs = Server.CreateObject("ADODB.Recordset") Strsql = "SELECT a.area,a.department_id,b.employee_name,c.* FROM rs_department a,rs_employee b,FY_JOURNA c where a.department_id = b.department_id and b.employee_id=c.employeeid " AddRs.Open Strsql, cn, 1, 3 AddRs.Open Strsql, cn, 1, 3 If AddRs.EOF Then AddRs("area") = Session("area") AddRs("departmentid") = Session("department_id") AddRs("EMPLOYEEID") = Session("employee_id") AddRs("EMPLOYEENAME") = Session("employee_name") AddRs("czdate") = Now() AddRs.Update AddRs.Close Set AddRs = Nothing
如何添加数据, Set AddRs = Server.CreateObject("ADODB.Recordset") Strsql = "SELECT a.area,a.name,a.department_id,b.employee_name,c.* FROM rs_department a,rs_employee b,FY_JOURNA c where a.department_id = b.department_id and b.employee_id=c.employeeid" AddRs.Open Strsql, cn, 1, 3 If AddRs.EOF Then AddRs("area") = Session("area") AddRs("departmentid") = Session("department_id") AddRs("EMPLOYEEID") = Session("employee_id") AddRs("EMPLOYEENAME") = Session("employee_name") AddRs("czdate") = Now() AddRs.Update AddRs.Close Set AddRs = Nothing End If ~~FY_JOURNA 表中字段有如下(area,departmentid,EMPLOYEEID,EMPLOYEENAME,czdate) 打开三张表主要功能是为了获取相应的字段. 我想向FY_JOURNA 表中增加数据,请问我应怎么做.因为我打开了三张表,上面的程序肯定错误
我对于你想实现的目的有一些疑问: a.department_id = b.department_id and b.employee_id=c.employeeid " a 是部门表,b 是职员表 a.department_id = b.department_id 这个条件在没有其它条件限制的情况下,应该是所有职员了,所以写上这个似乎没有什么意义,同理 b.employee_id=c.employeeid 也就是所有的 FY_JOURNA 记录了。 另外,a.area 和 c.* 中的 area 字段本身就存在冲突,所以你的 SQL 是不正确的。 最后根据你讲述的,需要更新的是 c 中的记录,那 a 和 b 充其量也就是个限制条件,你可以根据它们之间的关系,取出 c 中的 id 集合,将这个 id 集合作为条件,取出对应的 c 中的记录,更新之!
不学无术我想向你提怎么个问题 我的这个SQL是不是有点象个数组的样子啊 表1 后接表1的字段 表2 后接表2的字段 表3后接表3的字段 取值的时候 数组Array(i,r) i的值为1的时候用表1, i的值为2的时候用表2, i的值为3的时候用表3, r代表表中的第几个字段,
我到目前还不能了解你的真实意图,所以也无法帮你写出 SQL 。 你说你需要使用相对应的字段,但是在你的程序中并没有体现出来。 而且你所要做的工作是更新所有的记录吗? 是否可以考虑将提取字段内容和更新数据分作两步操作呢?有时候期望能一步完成的动作只会给自己增加不必要的麻烦。
不是。 多个表联合查询和一个表查询,返回的形式是一样的,都是一个二维表,行对应着记录,列对应着字段。 如果你用 rs(0)...rs(n) 的形式来取值,对应的是你在 SELECT 后罗列的字段顺序对应的字段内容。
我想做的东西是这样的, 这个程序是一个系统日志, 当我执行某个操作的时候例如增加一条数据, 他就会在系统日志中显示出来,并显示是由某个部门,哪个人操作的. 所以我要牵涉到多个表操作 ~~FY_JOURNA就是那个日志表
简单的问题被你复杂化了。 登录信息中已经记录了该雇员的信息吧?例如 ID,那么你建立一个 Logs 表,记录下操作内容、操作时间和该雇员 ID 即可。 显示日志列表的时候可以根据联合查询或者关系,从该雇员 ID 获得该雇员的姓名、区域、部门(毕竟雇员表中有个部门 ID 字段)。