首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

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

2012-12-27 
为什么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)


                        {
                            StuBook stb = new StuBook();
                            stb.BbolowDate = DateTime.Now.Date ;//借书时间
                            stb.BreturnDate = DateTime.Now.AddMonths(1);//归还时间
                            stb.SBname = tbname.Text.Trim();//书名
                            stb.SBauthor = tbauthor.Text.Trim();//作者
                            stb.SID = tbid.Text.Trim();//卡号
                            if (user.insertbook (stb))//插入
                            { if (MessageBox.Show("已借图书:" + tbname.Text + "\n待归还日期:" + DateTime.Now.AddMonths(1).ToShortDateString () + "\n借书成功", "提示", MessageBoxButtons.OK) == DialogResult.OK) { tbauthor.Text = ""; tbname.Text = ""; } }
                            else MessageBox.Show("借书失败", "提示", MessageBoxButtons.OK);

                        }
                    }  
                
                }
 
            
            }
        }
数据不能插入到数据库中,这是为什么呢?但操作显示成功,这真怪了~纠结了好久了,已经尝试过断点调式了···但是···

[解决办法]
问题应该在这里,看看你的这个insertbook怎么写的,看看这里有没有问题,你这里执行成功才弹出插入成功,所以看看这里
if (user.insertbook (stb))//插入
  { if (MessageBox.Show("已借图书:" + tbname.Text + "\n待归还日期:" + DateTime.Now.AddMonths(1).ToShortDateString () + "\n借书成功", "提示", MessageBoxButtons.OK) == DialogResult.OK) { tbauthor.Text = ""; tbname.Text = ""; } }
[解决办法]

引用:
找了很多贴,都没有解决方法~~
这是插入操作:
        /// <summary>


        /// 借书函数
        /// </summary>
        /// <param name="o"></param>
        /// <returns></returns>
        public bool insertbook(StuBook……


是否设置了主键
[解决办法]
代码真乱呀~~~~~~~~~~~
[解决办法]
引用:
问题应该在这里,看看你的这个insertbook怎么写的,看看这里有没有问题,你这里执行成功才弹出插入成功,所以看看这里
if (user.insertbook (stb))//插入
{ if (MessageBox.Show("已借图书:" + tbname.Text + "\n待归还日期:" + DateTime.Now.AddMonths(1).ToShortDateString ()……

我是这样的写的啊:ublic bool insertbook(StuBook o)//借书
   {
     
   try
   {   
     
   db.StuBook.InsertOnSubmit (o);
   db.SubmitChanges();
     
   return true;
   }
   catch (SystemException )
   { return false; }

   }
按道理没错啊···晕了···
[解决办法]
引用:
找了很多贴,都没有解决方法~~
这是插入操作:
/// <summary>
/// 借书函数
/// </summary>
/// <param name="o"></param>
/// <returns></returns>
public bool insertbook(StuBook……

是否设置了主键

设了主键了啊·····
[解决办法]
设了 主键了啊!!!
问题应该在这里,看看你的这个insertbook怎么写的,看看这里有没有问题,你这里执行成功才弹出插入成功,所以看看这里
我是这样写的啊
 public bool insertbook(StuBook o)//借书
   {
     
   try
   {   
     
   db.StuBook.InsertOnSubmit (o);
   db.SubmitChanges();
     
   return true;
   }
   catch (SystemException )
   { return false; }

   }
[解决办法]
引用:
设了 主键了啊!!!
问题应该在这里,看看你的这个insertbook怎么写的,看看这里有没有问题,你这里执行成功才弹出插入成功,所以看看这里
我是这样写的啊
 public bool insertbook(StuBook o)//借书
   {
     
   try
   {   
     
   db.StuBook.InsertOnSubmit (o);
   d……

先把你的try.....catch。注释了再调试,看看什么问题
[解决办法]
你确定返回的是true吗?

热点排行