为何C#net的Windows应用程序操作SQL Server2005会出现提示数据插入成功而并没有把数据插入到数据库中 ,为什么呢

为什么C#.net的Windows应用程序操作SQL Server2005会出现提示数据插入成功而并没有把数据插入到数据库中 ,为什么呢?
找了很多贴,都没有解决方法~~
这是插入操作:
        /// <summary>
        /// 借书函数
        /// </summary>
        /// <param name="o"></param>
        /// <returns></returns>
        public bool insertbook(StuBook o)//借书
        {
            
            try
            {  
            
                db.StuBook.InsertOnSubmit (o);
                db.SubmitChanges();
              
                return true;
            }
            catch (SystemException )
            { return false; }

        }
这是windows窗体调用这个函数:
        private void btborrow_Click(object sender, EventArgs e)
        {
            loginuser user = new loginuser();
            book boook = new book();
            Stdmessge stu = new Stdmessge();
            if (tbname.Text == "" || tbauthor.Text  == "")
                MessageBox.Show("书名和作者不能为空!", "提示", MessageBoxButtons.OKCancel , MessageBoxIcon.Exclamation);
            else {
                if (tbpsw.Text == "") 
                    MessageBox.Show("密码不能为空!", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Error);
                else {
                    stu=user.searchstu(tbid.Text.Trim (), tbpsw.Text.Trim());//确定是否存在该用户
                    if (stu != null)
                    {
                        if( (MessageBox.Show("确定要借书?", "提示", MessageBoxButtons.OKCancel) )== DialogResult.OK)