C# 查询某列是否存在一个值,如果有返回对应的自动编号,如果没有新增并返回自动编号

  //判断是否存在这个group,如果有返回一个自动编号groupID,如果没有,新增一个group并返回一个自动编号groupID,txtGroupName为需要查询的值
        private int GetGroupID(string txtGroupName)
        {
            object obj = null;//存储返回的id  
            //数据库链接字符串
            string conStr = "data source=.;initial catalog=sqldemos;user id=sa;password=123456;";
            //数据查询字符串
            string cmdStr = string.Format("select groupId from TblContactGroup where groupName =N'{0}'", txtGroupName);
            using (SqlConnection conn = new SqlConnection(conStr))
            {
                using (SqlCommand cmd = new SqlCommand(cmdStr, conn))
                {
                    conn.Open();
                     obj = cmd.ExecuteScalar();//存储返回的id                  
                    if (obj == null)//如果返回值为空,说明groupName不存在
                    {
                        string cmdInsertstr = string.Format("insert into TblContactGroup output inserted.groupId values (N'{0}')", txtGroupName);

                            using (SqlCommand cmdInto = new SqlCommand(cmdInsertstr, conn))
                            {
                               obj= cmdInto.ExecuteScalar();//插入一个新的gorupname自动生成ID
                            }                                           
                    }
                }
            }
            return Convert.ToInt32(obj);

你可能感兴趣的:(C#,ADO.net)