当前位置:编程学习 > C#/ASP.NET >>

恳请大家进来 谢谢 关于插入数据不能重复的问题 很常见

各位大侠看下代码  create table base(job nvarchar(10),basepayment float)
create trigger inser_up
on base
instead of insert
as
begin
if exists(select 1 from inserted i,base j where i.job=j.job)
update base set base.basepayment=i.basepayment from inserted i where base.job=i.job
end
在asp的cs里的添加按钮代码
                if (re.IsMatch(tb3.Text))
                {
                    string str = "insert into base(job,basepayment) values('" + tb1.Text + "','" + float.Parse(tb3.Text) + "')";
                    SqlCommand com = new SqlCommand(str, con);
                    com.ExecuteNonQuery();
                    BindGrid();
                    a();
                }

是想实现 如果插入的job的值数据库里已经存在 更新base表把新插入的值basepayment作为basepayment的值
就是job字段的值不能重复 要是重复 就当作是更新base表
触发器如果只在sql里能执行 但是在网页的文本框里输入后 再按添加按钮却没反应 数据库里没有新的数据  要是没有这个触发器的话 可以添加数据但是不能保证job的值唯一   怎么办 啊  …… --------------------编程问答-------------------- if (re.IsMatch(tb3.Text))
  {
  strin str1="select count(*) from base where job='" + tb1.Text + "'";
  string str = "insert into base(job,basepayment) values('" + tb1.Text + "','" + float.Parse(tb3.Text) + "')";
  SqlCommand com1=new SqlCommand(str1,con)
  if(con.State!=ConnectionState.Open)
  {
     con.Open();
  }
  int ret=Convert.ToInt32(com1.ExecuteScalar());
  if(ret==0)
  {
     SqlCommand com = new SqlCommand(str, con);
     com.ExecuteNonQuery();
     BindGrid();
     a();
  }
  con.Close();
  } --------------------编程问答-------------------- 关注下
呵呵 --------------------编程问答-------------------- 谢谢  问题已经解决了
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,