恳请大家进来 谢谢 关于插入数据不能重复的问题 很常见
各位大侠看下代码 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#