如果你插入一条数据而数据库中已经存在时 你无法插入数据。。求教......

解决方案 »

  1.   

    如果不用存储过程,可以先选择数据库里的内容,生成一个DataSet,遍历DataSet中的每一条记录,如果存在和现在值一样的值,就不执行插入,如果没有一样的值,就插入记录
      

  2.   

    if exists(select * from TableName where Conditons)
    begin
     insert TableName ......
    end
    else
     return 0
      

  3.   

    create proc insert_
    (
    @userName varchar(10),
    ...
    )
    as
    declare @uID bigint
    select @uID=ID from login where userName=@userName
    if (@uID is  null)
    begin
    INSERT INTO login(userName...) 
    VALUES(@userName.... ) 
    end
      

  4.   

    可以用存储过程去写个小脚本检查存在否,也可以用事务方式来处理
    Begin Tran
        --SQL 语句
    if @error <> 0
        Tran Commit
    else
        Tran Rollback
      

  5.   

    if @error <> 0
        Tran Commit
    好像少了一个@吧