delphi 20102010怎么做才能在删除a表中的数据时其他表中的数据...

delphi如何先将a表中数据插入到b表中,然后比较2个表中c字段是否相等_百度知道
delphi如何先将a表中数据插入到b表中,然后比较2个表中c字段是否相等
请看清楚我的提问,是先插入在比较,而且是每插一条记录都要进行比较
不然数据插入一般突然断线。当然这样的话你在写sql和delphi代码的时候就都得用事务来写了,你就用存储过程来比较呗,如果是sql的话,在用select关联查询,就会出现问题你既然是操作表,先insert
其他类似问题
为您推荐:
其他2条回答
id=a.c=a.id and not bselect * from b left join a where b
首先克隆,然后比较
delphi的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁 上传我的文档
 下载
 收藏
该文档贡献者很忙,什么也没留下。
 下载此文档
正在努力加载中...
C数据结构中的删除顺序表中值相同的多余的元素
下载积分:0
内容提示:C数据结构中的删除顺序表中值相同的多余的元素
文档格式:DOC|
浏览次数:81|
上传日期: 08:50:21|
文档星级:
该用户还上传了这些文档
C数据结构中的删除顺序表中值相同的多余的元素
官方公共微信delphi7 如何把一个表中的数据累加后写入另一个表_百度知道
delphi7 如何把一个表中的数据累加后写入另一个表
procedure T
ADOQuery1: String);当月还没有正常出库商品~~.V:00,D;=;:59;
QRLabel10.Value.RecordCount&begin
if StrToInt(M)+1&update starcommodit-'and outtime &gt:Syyyy-mm-begin
if RadioButton1; 23;
if adoquery1.Add(&#39.Add(&#39:=Y+&#39,+
');select * from chukulishi&#39,sum(number)sellnumber
from chukulishi
group by sellnumber&#39.Value.Caption.ParamByName('+FormatdateTime('+M+&#39.Open.Parameters.ParamByName('-&#39:':B '):=FormatdateTime('
if ADOQuery1.Checked then begin
ADOQuery1;dd&#39:A and outtime &lt:=IntToStr(StrToInt(Y)+1);
M:C&#39.SQL;A&#39!');12 then begin
ADOQuery1;+MaxDate(Y, Now):=Y+&#39.SQL.BitBtn1Click(Sender:
ADOQuery1:=&#39.ParamByName('
result:delphi7 我是两个表:ss&#39:='=;+
&#39,M; 00;and outreason=;+M+'
ADOQuery1;-'c'var
Y,1)-1)end:59&#39.P1&#39:00&#39,M)+'
ADOQuery1;+'
M, M.Clear,然后按本月总出库数量排序;function Tchangxiaoshangpin,一个表是chukulishi和全月出库明细表 统计时间:=&#39.RecordCount=0 then
ShowMessage('正常出库'.Parameters: S&#47.MaxDate(Y;0 then
adoquery1;);).SQL,我要累计chukulishi表中本月正常出库商品后写入starcommodity表中;,EncodeDate(StrToInt(Y);;B&#39提问,StrToInt(M);-01&#39: TObject):=IntToStr(StrToInt(M)+1););/我不知道累加代码怎么弄还有Query open后
提问者采纳
表结构列出来,然后说清楚需求
我是有两个表,一个表是畅销商品表starcommodity(commodityid,commodityname,sellnumber),另一个表是出库历史表chukulishi(id,commodityid,commodityname,number,outreason,outtime);是根据出库历史表写入畅销商品表,先筛选时间段,然后该时间段内将相同商品的出库数量相加,按出库总量的大小排序,显示。不知道可不可以留个联系方式,方便快速交流,谢啦...
modityname,a.sellnumber,(select sum(b.number)
from chukulishi b where
(b.outtime between 开始时间 and 结束时间)modityid))as ChuKuSum from starcommodity a
提问者评价
其他类似问题
为您推荐:
其他1条回答
只对某一个字段进行查询出来后进行累加,还是什么其他的说的不是很清楚的,是要将数据库中的一部分数据提取出来保存到另一个表中还是
我是有两个表,一个表是畅销商品表starcommodity(commodityid,commodityname,sellnumber),另一个表是出库历史表chukulishi(id,commodityid,commodityname,number,outreason,outtime);是根据出库历史表写入畅销商品表,先筛选时间段,然后该时间段内将相同商品的出库数量相加,按出库总量的大小排序,显示。不知道可不可以留个联系方式,方便快速交流,谢啦...
delphi7的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁查看: 1580|回复: 6
对比两表数据,如何在第二个表中删除不存在于第一个表的数据
阅读权限10
在线时间 小时
本帖最后由 求中好傻 于
20:52 编辑
菜鸟求助rt
对比两表数据,如何在第二个表中删除&不存在于第一个表的&数据
以下是我写的,问题是:
1. find函数得出的结果完全没有满足要求,如应该删除的没有删除而不应该删的删了
2. c.Offset(0, 2) = &no&(这行其实我只是用来测试用的)和Rows(c.Row).Delete这两行在满足条件rng Is Nothing之后居然不同时执行
3. 如果把两表数据放在一个表里我写的代码就没问题
( 由于原文件里有很多法语,我还是不上传了)
histo:表一
compte:表二
Dim rng As Range
Application.Calculation = xlCalculationManual
Application.ScreenUpdating = False
For Each c In Sheets(&compte&).Range(&a3:a& & [a65536].End(xlUp).Row)
Set rng = Sheets(&histo&).Range(&d2:d& & [d65536].End(xlUp).Row).Range(&d2:d& & [d65536].End(xlUp).Row).Find(c.Value)
If rng Is Nothing Then
c.Offset(0, 2) = &no&
Rows(c.Row).Delete
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
希望各位大侠看看小弟写的有什么问题 跪谢了
该贴已经同步到 求中好傻的微博
阅读权限100
在线时间 小时
Sheets(&compte&).Range(&a3:a& & [a65536].End(xlUp).Row)
这种写法最容易出问题,看似代码简洁了,实际隐患产生:
Sheets(&compte&).Range(&a3:a& & Sheets(&compte&).[a65536].End(xlUp).Row)
下一句也是相同的问题。
阅读权限50
在线时间 小时
版主真仔细,我也经常像LZ这样写的
阅读权限10
在线时间 小时
蓝桥玄霜 发表于
Sheets(&compte&).Range(&a3:a& & [a65536].End(xlUp).Row)
这种写法最容易出问题,看似代码简洁了,实际隐 ...
多谢版主!!!!!!感觉问题解决了大半
但现在还有个小问题:要多次执行宏才能打到本应该一次就完成的要求
第一次执行宏,数据从252行减少到191行
第二次执行宏,数据从191行减少到177行
第三次执行宏,数据从177行减少到173行
之后执行宏,数据都是173行(我用其他方法证明了这是对的)
不知道还有什么问题 多谢
阅读权限20
在线时间 小时
For Each c In Sheets(&compte&).Range(&a3:a& & [a65536].End(xlUp).Row)
Rows(c.Row).Delete
循环中删除了一行,下行即填补了这一行的位置,而循环接着去处理下一行了,刚添上来的这一行若是要是符合删除条件就漏掉了!
不知道我表达明白了吗?
我用很笨的办法是 第一次循环先不删除行,而是先清除这行数据,然后再循环一次清除空行!代码很好找,就是数据多了会影响速度!
阅读权限10
在线时间 小时
wtb5678 发表于
For Each c In Sheets(&compte&).Range(&a3:a& & [a65536].End(xlUp).Row)
太感谢了!我听懂了,你说的完全正确,昨晚我也想到可能是这个问题,于是我想用union来循环但又出问题了()TAT
阅读权限20
在线时间 小时
已回复 请看!
玩命加载中,请稍候
玩命加载中,请稍候
本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!
本站特聘法律顾问:徐怀玉律师 李志群律师
Powered bysql server中怎么把不同表中的数据提取到一个视图里面
sql server中怎么把不同表中的数据提取到一个视图里面
09-10-21 &匿名提问 发布
  SQL Server 构架   SQL 视图  视图可以被看成是虚拟表或存储查询。可通过视图访问的数据不作为独特的对象存储在数据库内。数据库内存储的是 SELECT 语句。SELECT 语句的结果集构成视图所返回的虚拟表。用户可以用引用表时所使用的方法,在 Transact-SQL 语句中通过引用视图名称来使用虚拟表。使用视图可以实现下列任一或所有功能:   将用户限定在表中的特定行上。   例如,只允许雇员看见工作跟踪表内记录其工作的行。  将用户限定在特定列上。   例如,对于那些不负责处理工资单的雇员,只允许他们看见雇员表中的姓名列、办公室列、工作电话列和部门列,而不能看见任何包含工资信息或个人信息的列。  将多个表中的列联接起来,使它们看起来象一个表。  聚合信息而非提供详细信息。   例如,显示一个列的和,或列的最大值和最小值。  通过定义 SELECT 语句以检索将在视图中显示的数据来创建视图。SELECT 语句引用的数据表称为视图的基表。在下例中,pubs 数据库中的 titleview 是一个视图,该视图选择三个基表中的数据来显示包含常用数据的虚拟表:  CREATE VIEW titleview  AS  SELECT title, au_ord, au_lname, price, ytd_sales, pub_id  FROM authors AS a  JOIN titleauthor AS ta ON (a.au_id = ta.au_id)  JOIN titles AS t ON (t.title_id = ta.title_id)  之后,可以用引用表时所使用的方法在语句中引用 titleview。  SELECT *  FROM titleview  一个视图可以引用另一个视图。例如,titleview 显示的信息对管理人员很有用,但公司通常只在季度或年度财务报表中才公布本年度截止到现在的财政数字。可以建立一个视图,在其中包含除 au_ord 和 ytd_sales 外的所有 titleview 列。使用这个新视图,客户可以获得已上市的书籍列表而不会看到财务信息:  CREATE VIEW Cust_titleview  AS  SELECT title, au_lname, price, pub_id  FROM titleview  视图可用于在多个数据库或 Microsoft& SQL Server? 2000 实例间对数据进行分区。分区视图可用于在整个服务器组内分布数据库处理。服务器组具有与服务器聚集相同的性能优点,并可用于支持最大的 Web 站点或公司数据中心的处理需求。原始表被细分为多个成员表,每个成员表包含原始表的行子集。每个成员表可放置在不同服务器的数据库中。每个服务器也可得到分区视图。分区视图使用 Transact-SQL UNION 运算符,将在所有成员表上选择的结果合并为单个结果集,该结果集的行为与整个原始表的复本完全一样。例如在三个服务器间进行表分区。在第一个服务器上定义如下的分区视图:  CREATE VIEW PartitionedView AS  SELECT *  FROM MyDatabase.dbo.PartitionTable1  UNION ALL  SELECT *  FROM Server2.MyDatabase.dbo.PartitionTable2  UNION ALL  SELECT *  FROM Server3.MyDatabase.dbo.PartitionTable3  在其它两个服务器上定义类似的分区视图。利用这三个视图,三个服务器上任何引用 PartitionedView 的 Transact-SQL 语句都将看到与原始表中相同的行为。似乎每个服务器上都存在原始表的复本一样,而实际上每个表只有一个成员表和分区视图。有关更多信息,请参见视图使用方案。  只要所做的修改只影响视图所引用的其中一个基表,就可以更新所有 SQL Server 版本内的视图(可以对其执行 UPDATE、DELETE 或 INSERT 语句)。  -- Increase the prices for publisher '0736' by 10%.  UPDATE titleview  SET price = price * 1.10  WHERE pub_id = '0736'  GO  SQL Server 2000 支持可引用视图的更复杂的 INSERT、UPDATE 和 DELETE 语句。可在视图上定义 INSTEAD OF 触发器,指定必须对基表执行的个别更新以支持 INSERT、UPDATE 或 DELETE 语句。另外,分区视图还支持 INSERT、UDPATE 和 DELETE 语句修改视图所引用的多个成员表。  索引视图是 SQL Server 2000 具有的功能,可显著提高复杂视图类型的性能,这些视图类型通常在数据仓库或其它决策支持系统中出现。  视图的结果集通常不保存在数据库中,因此视图也称为虚拟表。视图的结果集动态包含在语句逻辑中并在运行时动态生成。有关更多信息,请参见视图解析。  复杂的查询(如决策支持系统中的查询)可引用基表中的大量行,并将大量信息聚积在相对较简洁的聚合中,如总和或平均值。SQL Server 2000 支持在执行此类复杂查询的视图上创建聚集索引。当执行 CREATE INDEX 语句时,视图 SELECT 的结果集将永久存储在数据库中。SQL 语句此后若引用该视图,响应时间将会显著缩短。对基本数据的修改将自动反映在视图中。  SQL Server 2000 CREATE VIEW 语句支持 SCHEMABINDING 选项,以防止视图所引用的表在视图未被调整的情况下发生改变。必须为任何创建索引的视图指定 SCHEMABINDING。  请参见  CREATE INDEX  CREATE TRIGGER  CREATE VIEW  设计索引视图  视图
请登录后再发表评论!

我要回帖

更多关于 delphi 2010 的文章

 

随机推荐