string sql = "insert into brrowinfo(readernum,readername,booknum,bookname,brotime,shtime,brrowednum)values('" + this.textBox1.Text + "',d,'" + this.textBox2.Text + "',d1,'"+DateTime.Now.ToShortDateString()+"','"+s+"',j)";
readernum,readername,booknum,bookname是文本类型的,brotime,shtime是时间日期类型的,brrowednum是数字类型的。
d,d1是从查询中得到的字符串类型,s是DateTime s = DateTime.Now.AddDays(30);j是定义的整数,请各位大侠们帮帮忙啊。

解决方案 »

  1.   

    哪一个没有赋值?所有变量调试得到的值都对,为什么只有在SQL插入语句那个地方出问题了?
      

  2.   

    下断看生成的sql语句,这种问题一般调试都能解决
      

  3.   

    类型是否正确,例如你的
    readernum 对应的this.textBox1.Text是一个字符串!
    则检查readernum数据类型是否匹配!!
      

  4.   

      调试  把sql语句找出来  再到 资源管理器中运行不就行了不?
      

  5.   

    d,d1和j的写法不对,需要如下替换
    d  改为'"+d+"'
    d1 改为'"+d+"'
    j  改为'"+j+"'
      

  6.   

    建议不要用这种方法来构造SQL语句,如果不想用参数可以用以下方法string sqlFmt="INSERT INTO tbl(fa,fb,fc) VALUES('{0}','{1}','{2}')";
    string sql=string.Format(sqlFmt,textBox1.Text,textBox2.Text,textBox3.Text);
    这种方法更容易在后期查找原因和修改
      

  7.   


    不错的方法,楼主要解决你的问题,先将你拼装的sql字符串显示出来,一看,你就知道了。