以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  如何在数据库中直接复制数据  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=113929)

--  作者:zhangchi96
--  发布时间:2018/1/25 13:52:00
--  如何在数据库中直接复制数据

    Conn_ections.Add("test", "Provider=Micro_soft.Jet.OLEDB.4.0;Data Source=" & Project_Path & "data\\信息数据库.mdb;Persist Secu_rity Info=False;Jet OLEDB:Data_base Password=888888")
    Dim cmd2 As new SQLCom_mand
    cmd2.Co_nnecti
    cmd2.Com_mandText = "se_lect * from {教职工信息表} where 1=2"
    Dim dt2 As Data_Table = cmd2.Execut_eReader
     cmd2.Com_mandText = "a_lter table _{教职工信息表} ad_d 上年档案工资 DOUBLE;"  \'那么就建立一个【】列,数据类型为数字,双精度
        cmd2.Exe_cuteNonQuery
        cmd2.Com_mandText = "up_date {教职工信息表} set 上年档案工资=备用054;"    \'将【备用054】的值赋值给【上年档案工资】
        cmd2.Execu_teNonQuery
        cmd2.Comma_ndText = "al_ter Table {教职工信息表} drop Column 备用054;"    \'删除【备用054】列
        cmd2.ExecuteN_onQuery

请教,这是我对数据库的一个操作,现在我想把数据库进行数据复制,复制后的数据也存在数据库中

数据库含有列名:年、性别

我想把数据库中{年}是2017的并且{性别}为男的复制一下,复制后{年}改为2018,其余不变,请老师指点一下命令的写法


--  作者:有点甜
--  发布时间:2018/1/25 14:38:00
--  

你要把复制的数据复制到哪里去?

 

如果是复制到一个新表,就用 select into 的sql语句,然后对新表的年update成2018即可。


--  作者:zhangchi96
--  发布时间:2018/1/25 15:08:00
--  
就是复制在原来的数据库表里面
--  作者:有点甜
--  发布时间:2018/1/25 15:36:00
--  
以下是引用zhangchi96在2018/1/25 15:08:00的发言:
就是复制在原来的数据库表里面

 

insert into {表A} (第一列, 第二列, 第三列) select 第一列, 第二列, 2018 from {表A} where 第四列 = \'123\'


--  作者:zhangchi96
--  发布时间:2018/1/25 17:27:00
--  

这里要写所有的列名,我有100多个列

我想变通一下,

第一步 :把{表A}数据复制到{表B},条件是 年度 = \'2017\' and 性别 = \'女\'

第二步:把{表B}中的 列:年度 中所有的值改为2018

由于对这方面特别不熟悉,请老师帮我写下详细些的代码,谢谢甜老师的指导!

[此贴子已经被作者于2018/1/25 17:49:43编辑过]

--  作者:有点甜
--  发布时间:2018/1/25 18:38:00
--  

select * into {表abc} from {表A} where 年度 = \'2017\' and 性别 = \'女\'

 

update {表abc} set 年度 = 2018


--  作者:zhangchi96
--  发布时间:2018/1/25 19:56:00
--  

删除表B的所有数据:   DE_LETE From {表B} Where [_identify] Is not null

 

删除表B中符合某种条件的数据 DELE_TE Fr_om {表B} Where 年度 = \'2017\' and 性别 = \'女\'

 

请问老师,这样的写法有问题吗?

[此贴子已经被作者于2018/1/25 19:56:40编辑过]

--  作者:zhangchi96
--  发布时间:2018/1/25 20:09:00
--  
以下是引用有点甜在2018/1/25 18:38:00的发言:

select * into {表abc} from {表A} where 年度 = \'2017\' and 性别 = \'女\'

 

update {表abc} set 年度 = 2018

如果我的表A在文件 数据库1.mdb 中,表B在数据库1.mdb 中,上面的复制命令该怎么写?


--  作者:有点甜
--  发布时间:2018/1/25 21:17:00
--  
以下是引用zhangchi96在2018/1/25 20:09:00的发言:

如果我的表A在文件 数据库1.mdb 中,表B在数据库1.mdb 中,上面的复制命令该怎么写?

 

如果是插入一个已经存在的表,就只能用 insert into 语句;

 

select into 语句,必须是生成一个新表的;

 

跨数据库处理参考 http://blog.csdn.net/jolin678/article/details/52109206