1. 在SQL-server有一个数据库表里面有一个bh字段(设置为主键),记录为                 bh                xm 
                 1                 dsa
                 2                 dsa
   当我试图再保存一个新记录(bh=2),如何在前台提示"数据库里已有bh为2的记录"2. 在SQL-server有一个数据库表里面有一个bh字段(bh不设置为主键),记录为                 bh                xm 
                 1                 dsa
                 2                 dsa
   当我试图再保存一个新记录(bh=2),如何在前台提示"数据库里已有bh为2的记录"
3.这句有错(它提示where 附近有语法错误)我不知道错在哪里?
insert into dangank_byg(bianhao,xingming) values(12,’wq’) where 12 not in (select distinct bianhao from dangank_byg) 

解决方案 »

  1.   

    1.2 在insert时,先根据 “内容”对表进行Select 不就OK了,那里有那么多问题3. -_-#  你还是好好看看SQL吧
      

  2.   

    1:截获错误代号自己处理:
      如:  Application.OnException := GlobalExHandler.HandlerProc;
    2:
      BeforPost事件自己写代码处理
    3:
      insert into dangank_byg(bianhao,xingming) 
      select 12,’wq’
       where not Exists(select bianhao from dangank_byg where bianhao=12) 
      

  3.   

    1\可以在保存之前先查看数据表是否存在此记录  存在报上面的错   不存在则进行操作
    with adoquery do 
    begin
      close
      sql.clear
      sql.add('select * from dangank_kyg where bh=要存进的主键值')
      open;
      if recordcount<>0 then
         提示错误
      else
         进行操作
    end;2\同上
    3\楼主的本意是不是表DANGANK_BYG有这个值时不INSERT这条记录  
      应该先判断再进行操作
      那个SQL语句没有那种写法
      

  4.   

    1、2select
    3、你那个单引号是不是中文的呀看起来是,错还有看看selec来的字段是否与insert对,要一一对应才行
      

  5.   

    楼主该是好好的看看SQL
    第三问属于语法错误,insert后面是不加用Where条件判断不过可以这样实现:
    if not exists (select * from dangank_byg where bianhao=12)
    insert into dangank_byg(bianhao,xingming) values(12,'wq')