事先说明,本菜鸟刚刚入门网站开发,最近在做一个图书馆管理的小系统,在做的过程中碰到一个很奇怪的问题,本人新手,希望大家莫怪莫笑!鞠躬致谢!下面我来说明我这个问题,在做图书馆管理系统时候,我用到了Gridview控件,想实现一个很简单的问题,就是在Gridview里绑定了数据库的图书库存量,我想实现库存量与我想录入的图书数量相加的功能,我写了如下代码 protected void Button4_Click(object sender, EventArgs e)
    {
        String new_bookma = TextBox2.Text +Session["nowbook_ma"].ToString();
        bool result =TitleService .UpdateTitleByid(Session["nowbook_name"].ToString(),new_bookma);
        if(result)
        {
            WindowHelper.Alert("添加图书数量成功!",this);
        }
    }其中 TextBox2.Text中输入的是想录入图书的数量,Session["nowbook_ma"].ToString()中绑定的是Gridview中对应图书的库存量,执行的时候 发现输入的结果是两个相连接,而不是相加,比如库存量是10,我录入图书的数量是10,最后修改表的结果是1010,而不是20,请问这种情况应该如何解决?谢谢大家了!!!

解决方案 »

  1.   

    是不是语句有问题呀,你可以在MSSQL中测试一下你的那个SQL语句的
      

  2.   

    1L,我得SQL语句没有问题的,我感觉就是 TextBox2.Text +Session["nowbook_ma"].ToString();
    的加号出现的问题,这个加号实现的是两个字符串的连接而不是相加,我不太清楚该怎么处理
      

  3.   

    两个字符C串型的数据是连接的意思  把他转化成Int型 估计就可以了  int new_bookma = Convert.ToInt32(TextBox2.Text) +Convert.ToInt32(Session["nowbook_ma"].ToString());
    );
      

  4.   

    字符串类型是不能相加减的。Convert.ToInt32();转换一下
      

  5.   

     String new_bookma = TextBox2.Text +Session["nowbook_ma"].ToString();
     相加 string 类型相加 得到的结果是字符串拼接
      

  6.   

    int new_bookma = Convert.TonInt32(TextBox2.Text) +Convert.TonInt32(Session["nowbook_ma"].ToString()
    );这样的new_bookma结果应该就是你要的,最后将new_bookma.ToString();下就可以了 就是你说的10 而非1010PS:当然这是你在sql语句不改动的情况下。。 sql语句中 数值类型是不加的‘’, 而字符串类型是要加‘’
      

  7.   

    文本框中是字符串类型,相加的话装换成整型,用int.prase();
      

  8.   

    你将值转换为int在相加,string相加就是拼接字符串呢!
      

  9.   

    你可以修改的时候直接等于 现有库存++输入库存啊用sql语句直接算好,字符串相加则是字符串的拼接啊。
    “123”+“123”=“123123”
      

  10.   

    上面已经有答案了  你用的STRING类型相加  应该用INT类型相加