关于sql的问题

fstao 2000-03-27 09:25:00
delphi问题:
用MSSQL7建一新表table2,其字段和数据如下:
id name
1 a
2 b

在form1里添加query1、edit1、edit2和button1,query1连接Mssql7。我想实现这样
的功能:假如在edit1和edit2分别输入“3”和“c”,就把这两个数据insert into到table2,
其实这样做比较简单,语句为:
with query1 do
begin
close;
sql.clear;
sql.add('insert into table2(id,name) values(:id,name)');
parambyname('id').AsFloat:=strtofloat(edit1.text);
parambyname('name').AsString:=edit2.text;
execsql;
end;

但是如果在edit1里输入“1”或“2”时,我不想让table2的id重复,那么得在sql语句加入判断句where,
那么where后面又如何写?如:
with query1 do
begin
close;
sql.clear;
sql.add('insert into table2(id,name) values(:id,name)');
sql.add('where ?');
parambyname('id').AsFloat:=strtofloat(edit1.text);
parambyname('name').AsString:=edit2.text;
execsql;
end;
...全文
128 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
haihong 2000-03-28
  • 打赏
  • 举报
回复
where id not in(select id from table2)
supershan 2000-03-28
  • 打赏
  • 举报
回复
我来拿分喽!
在插入之前,先进行判断
with Query1 do
begin
Close;
Sql.Clear;
Sql.Add('select * from table2 where Id=:Id');
parambyname('Id').AsString:=Edit1.Text;
Open;

if Recordcount>0 then
begin
Messagedlg('记录重复!',mtwarning,[mbOK],0);
Exit;
end;
end;
subzero 2000-03-28
  • 打赏
  • 举报
回复
这个是不是太麻烦了
把id设成自动增加的不就行了吗?
Jean 2000-03-28
  • 打赏
  • 举报
回复
...
SQL.Add(
'WHILE NOT EXISTS (SELECT * FROM Table2 WHERE id = :id)
+ ' INSERT INTO Table2 (id, name) '
+ ' VALUES (:id, :name)');
...
bpc 2000-03-28
  • 打赏
  • 举报
回复
where 后边加 table2.id not in (select id form table2)
通过慢sql分析的学习,了解什么是慢sql,以及慢SQL会引起那些性能问题。清楚慢sql日志的设置,然后再通过慢sql分析工具的学习,清楚慢sql分析的步骤和流程。慢sql分析工具:mysqldumpslow工具、explain工具、profile工具、Optimizer Trace工具。 提供课程中所使用的sql语句。 课程内容:第一章:课程简介1、课程介绍2、课程大纲 第二章:慢sql简介1、慢sql简介2、慢sql会引起的问题 第三章:慢日志的设置1、慢sql的分析流程2、慢日志参数理解3、慢日志参数设置:第1种方式:my.ini文件设置4、慢日志参数设置:第2种方式:sql脚本设置5、慢日志参数设置-效果验证 第四章:如何发现慢sql1、如何发现慢sql:第1种方式:慢日志文件2、如何发现慢sql:第2种方式:mysql库的slow_log表 第五章:慢sql分析工具1、慢sql提取-mysqldumpslow工具-使用方法2、慢sql提取-mysqldumpslow工具-操作实战3、慢sql的执行计划分析-explain分析-执行计划结果说明4、慢sql的执行计划分析-explain分析-索引介绍+type类型举例5、慢sql的资源开销分析-profile分析-分析步骤6、慢sql的资源开销分析-profile分析-show profile执行阶段说明7、慢sql的资源开销分析-profile分析-完整列表说明+操作实战8、慢sql的跟踪分析-Optimizer Trace分析-分析步骤9、慢sql的跟踪分析-Optimizer Trace表的介绍10、索引失效场景举例 第六章:慢日志清理1、慢日志清理

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧