如题四个textbox值,1个表,1-姓名
2-岁数
3-第二个人的姓名
4-第二个人的岁数用户表:tbUser若1-姓名存在tbUser,则update岁数,若不存在,则insert intp姓名跟岁数。同理若2-姓名存在tbUser,则update岁数,若不存在,则insert intp姓名跟岁数。我这两个要在点击button的时候,同时检查。我做的时候,只能更新第一个,然后第二个它不断的insert,没法判断。请求帮助,谢谢!

解决方案 »

  1.   

    你可以单独抽象出一个方法 private void UpdateRecord(string name,int age)
            {            if (CheckUserNameIsExist(name))//写一个方法根据用户名来去库里查询判断该用户名是否存在,该方法返回bool值,true表示存在
                {
                    //如果存在,此时执行更新操作
                    //update Table set age=age where name=name
                }
                else
                { 
                    //执行插入
                    //insert into Table(name,age) values(name,age)
                }
            }调用UpdateRecord(this.TextBox1.Text.Trim(),int.Parse(this.TextBox2.Text.Trim()));//更新第一个人
    UpdateRecord(this.TextBox2.Text.Trim(),int.Parse(this.TextBox3.Text.Trim()));//更新第二个人
      

  2.   

    可以把这个(CheckUserNameIsExist(name)方法大概写一下吗?
      

  3.   

    conn.Open();
            SqlDataReader dr = cm2.ExecuteReader();
            if (dr.Read())
            {
                if (name.ToString() == dr["姓名"].ToString())
                {
                    return true;
                }
                else
                {
                    return false;
                }
            }
    编译器错误消息: CS0120: 非静态字段、方法或属性“tiaoban_tiaobanshenqing.conn”要求对象引用
      

  4.   

    private static bool CheckUserNameIsExist(string name)
        {
            string strname1 = "select * from tbAllgs where 录入时间>'" + System.DateTime.Now.Year + "-" + System.DateTime.Now.Month + "-1 00:00:00' and 录入时间<'" + System.DateTime.Now.Year + "-" + System.DateTime.Now.Month + "-31 23:59:59' order by 录入时间 desc";        SqlCommand cm2 = new SqlCommand(strname1.ToString(),conn);
            conn.Open();
            SqlDataReader dr = cm2.ExecuteReader();
            if (dr.Read())
            {
                if (name.ToString() == dr["姓名"].ToString())
                {
                    return true;
                }
                else
                {
                    return false;
                }
            }        
            conn.Close();        
        }