adoquery 实现多表操作,只更新一个表的demo ( 积分: 100 )

  • 主题发起人 主题发起人 bolidehi
  • 开始时间 开始时间
B

bolidehi

Unregistered / Unconfirmed
GUEST, unregistred user!
adoquery.sql.text&nbsp;:=&nbsp;'select&nbsp;a.id,&nbsp;a.name,&nbsp;a.parent,&nbsp;b.name&nbsp;from&nbsp;depart&nbsp;a&nbsp;left&nbsp;join&nbsp;depart&nbsp;b&nbsp;on&nbsp;a.parentid=&nbsp;id';<br>adoquery.open;<br>Adoquery.Recordset.Properties.Item['Unique&nbsp;Table'].Value&nbsp;:=&nbsp;'a';<br>当向ado插入数据时提交adoquery.post失败.有谁能给我一个demo
 
ADOQuery1.Close;<br>&nbsp;&nbsp;ADOQuery1.SQL.Clear;<br>&nbsp;&nbsp;ADOQuery1.SQL.Add('Insert&nbsp;into&nbsp;');<br>&nbsp;&nbsp;AdoQuery1.ExecSQL;
 
a.parentid=&nbsp;id'<br>这样写也可以?
 
不好意思:应该是&nbsp;a.parentid=b.id
 
问题解决了没有?<br>这个其实简单的<br>报的是什么错啊?
 
tO&nbsp;:tihu1111,<br>没有解决<br>我用的数据库是postgresql&nbsp;delphi+&nbsp;ado连接.<br>报的错误:'Unique&nbsp;Table'不存在或未定义
 
item[index],index&nbsp;应该是数字型吧&nbsp;&nbsp;&nbsp;<br>我报的错是“缺少更新或刷新的键列信息”
 
只要你的字段demo字段(在SQL所有关联的表中)唯一,就可以由Ado徕自动更新,<br>若是不唯一,就只能用SQL进行更新了哈。
 
我没有用过,Property&nbsp;对象<br>去试试看再来
 
Form1.ADOQu1.Connection:=Form1.ADOConn;<br>&nbsp;&nbsp;Form1.ADOQu1.close;<br>&nbsp;&nbsp;Form1.ADOQu1.SQL.Clear;<br>&nbsp;&nbsp;Form1.ADOQu1.SQL.Add('select&nbsp;a.name,&nbsp;a.age,&nbsp;a.sum,&nbsp;b.name&nbsp;from&nbsp;&nbsp;a&nbsp;left&nbsp;join&nbsp;&nbsp;b&nbsp;on&nbsp;a.name=&nbsp;b.name');<br>&nbsp;&nbsp;Form1.ADOQu1.Open;<br>&nbsp;&nbsp;Form1.ADOQu1.Properties.Item['Unique&nbsp;Table'].Value:='a';<br><br>&nbsp;&nbsp;if&nbsp;Form1.ADOQu1.Recordset.RecordCount&gt;0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;then<br>&nbsp;&nbsp;begin<br>&nbsp;&nbsp;&nbsp;&nbsp;Form1.ADOQu1.Recordset.MoveFirst;<br>&nbsp;&nbsp;&nbsp;&nbsp;Form1.ADOQu1.Edit;<br>&nbsp;&nbsp;&nbsp;&nbsp;Form1.ADOQu1.Recordset.Fields[1].Value:='123';<br>&nbsp;&nbsp;&nbsp;&nbsp;Form1.ADOQu1.Post;<br>&nbsp;&nbsp;end;<br><br>通过了!<br>更新成功!<br>补充:查询出来的字段必须要有a表中的关键字段。
 
后退
顶部