AdoDataset1 doesn't return a result set
ADOdAteset1不能返回一个结果集,你是用adoquery1.open打开的这个adoquery把,执行这种操作应该用adoquery.execsql来运行这个adoquery
ADOdAteset1不能返回一个结果集,你是用adoquery1.open打开的这个adoquery把,执行这种操作应该用adoquery.execsql来运行这个adoquery
解决方案 »
- 几十万上百万的数据,多级分类如何设定?
- 我用了回车使控件一步一步往下,可是Memo框内却不能回车了,怎么办啊?
- 大家来看看这个帖子,BS楼主这种行为!
- 偶做了一个Jedi Delphi Headers for Directx 8.1开发库的帮助文件。。。
- 动态3D按钮(源码)
- 组件扩展
- 听说Delphi6有中文版了。哪有下?我只想要它的一个帮助。
- 请问这是什么错误呀,提示的是“试图执行的查询中不包含作为合计函数一部分的特定表达式'备注'”
- 牛人過來指教!!!!!DBgrid中沒有OnRowEnter事件怎麼辦?????
- 急急急!Delphi6+Paradox是否支持“select * into wpqd_bak from wpqd”?
- 关于Excel 模板的问题?保存,扫除??
- 我想取光标位置的字符串?
★==========★==========★
‖ Delphi里的最后一丝游魂‖
★==========★==========★
exesql is right
adocommand.exec;
begin
Close;
try
CommandText:='insert into 特性评价表 select :SoftWareSN as 软件编号,特性编号 as 特性外编号 from 模型特性表 where 模型编号=1001';
Parameters.ParamByName('softwareSN').value:=???;//赋值
execsql;
except
raise;
end;
end;
===============================
特性编号 int 主键 设为标识
===============================
你的 Insert 语句中怎么没有此字段?这肯定不行,假如你顺利增加了一条记录(此时“特性编号”为 Null),那么增加下一条记录时因为有重复的肯定无法 Insert 啊
用query的各种属性会比较好。
关于execSQL只是一个次要问题,因为我现在的程序执行是成功的。如果要说execSQL请告诉我如何在TADOdataSet中使用(我没有用query和Command),至于几位朋友说要给模型编号传值,我只能说我已写的很清楚了,这是个标识种子,会自动递增的好,下面是我的主要矛盾,是我问此问题最想知道的 SoftwareSN!!!!!!!
SoftwareSN这个参数是我已知的(它并不存在于模型特性表中,所以我有此问),我已赋值给它,我就是想知道SQL语句这样写对吗?(因为这个SoftwareSN是“外来的”)
'insert into 特性评价表 (软件编号,特性外编号) select :SoftWareSN,特性编号 from 模型特性表 where 模型编号=:ModelSN'
从意思上来讲是对的,可是从SQL语法上来讲我觉得怪怪的,好像不对。每次提问,我都怕我表意不清,唉,谢谢
with ADODataSet1 do
begin
Close;
try
CommandText:='insert into 特性评价表 (软件编号,特性外编号) select :SoftWareSN,特性编号 from 模型特性表 where 模型编号=1001';
ExecSql;
except end;
end;
如果SoftWareSN已经知道,也可以这样直接用常量代替,假设SoftWareSn=5,可以这样写
with ADODataSet1 do
begin
Close;
try
CommandText:='insert into 特性评价表 (软件编号,特性外编号) select 5,特性编号 from 模型特性表 where 模型编号=1001';
ExecSql;
except end;
end;
★==========★==========★
‖ Delphi里的最后一丝游魂‖
★==========★==========★
可立即看结果,亦可查看语法错误。
--我向来这么做的,不需求人了
好象没这个标准吧?
你的:SoftWareSN可能在TADODataSet里被解释为一个常量了。
这样的话由于是个常量,SELECT 可能看到一个列的值全是":SoftWareSN",而INSERT 语句由于没有对应的列而不起任何作用!不知道是不是这样,见笑了!
chen_zhonghua(小狼)
ajun21cn(每次问问题都给分的人)
你们三各老师说的好棒,听得我好舒服啊!to bluemeteor(挂月) :我原来的疑问根源就是不知道可以选择常量。
adocommand.exec;
就算是用ADOQuery,也无法返回数据集,SQL Server2000的帮助中好像说用insert into+ SELECT 子查询为一行或多行指定数据值返回的是成功插入的记录数(integer),而我非常渴望返回的是DataSet,请教各位。
这个问题看来只能由真正的高手来回答了。