使用select count(*) from 你的数据库吧,然后使用一个DataReader读取,如果返回数据库里已经有了,就是大于0,否则,就是还没有

解决方案 »

  1.   

    http://community.csdn.net/Expert/topic/5356/5356891.xml?temp=.8337366
    请见着贴!!!
      

  2.   

    先顶再说,我喜欢用DataTable,判断table里是否有数据
      

  3.   

    private void Page_Load(object sender, System.EventArgs e)
    {
    par_id.Text = Request.QueryString["cheID"].ToString();if(!IsPostBack)
    {
    SqlConnection con = DataCon.AutoCon();
    con.Open();SqlCommand cma = new SqlCommand("select * from cnat_nf",con);
    SqlDataReader sda = cma.ExecuteReader();
    this.par_lhb.DataSource = sda;
    this.par_lhb.DataTextField = "cnat_nf";
    this.par_lhb.DataValueField = "cnat_id";
    this.par_lhb.DataBind();
    this.par_lhb.Items.Insert(0,new ListItem("—请选推出年份—","-1"));
    sda.Close(); 
    con.Close();
    }
    这里少了一个 “}”  你 运行的时候 没报错?
      

  4.   

    SqlCommand cmd = new SqlCommand("cheParameter_ADD",con); //这句也有点问题吧?你的命令应该 在加入一个品牌,如果这个品牌存在就返回是不?
      

  5.   

    (1)可以在添加前先检索看看有没有,如果返回值了说明数据已存在。
    (2)可以在添加数据的存储过程里判断,如果数据存在返回'false',如果数据不存在就执行添加并返回'true'.
    (2)的参考:
    create proc SelectTable
    @ID int,
    @Out varchar(10) OUT
    as
    select * from 数据表 where 查询条件=@ID
    if @@ROWCOUNT >0
       set @Out='fasle'
    else
    begin
       set @Out='true'
       执行添加操作
    end--可以另做个存储过程,或其他的判断形式
    DECLARE @tt varchar(10)
    exec selectTable 传入数据(@ID值),@tt OUT
    select @tt;
      

  6.   

    有关于SQL Server的异常处理参考:http://msdn2.microsoft.com/zh-cn/library/ms177497.aspx
    http://msdn2.microsoft.com/zh-cn/library/ms179296.aspxtry
    {   
        lhb = cmd.ExecuteNonQuery();  
    }
    catch (sqlException e)
    {
      //处理SQL Server异常。可以访问错误号、错误源代码、过程名、错误信息等许多信息。
    }
    catch(Exception e)
    {
      //处理其它信息
    }
      

  7.   

    在过程中直接抛出异常,例如:if exists(select * from table where ....) begin
      RAISERROR ("在参数%s和参数%d处发现有一个毛毛虫", 16, 1, @param_1, @Param_2)
    else
      .......
    end
    不要把异常当作正常输出来设计,不要用含糊的概念搞乱自己。
      

  8.   

    在 Web.Config 中定义异常接收界面