c#中往数据库里插入数据时提示“从数据类型 varchar 转换为 numeric 时出错”。刚学求教:
刚才发的帖子是自己写好的数据插入没问题,但是这次是从界面取数据存到数据库里报错:从数据类型 varchar 转换为 numeric 时出错,这是怎么回事呢? string sql = "insert into studentInfo(studentID,studentName,studentSex,studentIDcard,studentAddress,bb) values('','"+tbxName.Text+"','"+tbxSex.Text+"','"+tbxID.Text+"','"+tbxAddress.Text+"','') ";
            SqlCommand cmd = new SqlCommand(sql,conn);
            cmd.ExecuteNonQuery();

解决方案 »

  1.   

    numeric 的值不应该用单引号括起来,检查一下,
      

  2.   

    这个。。回复得可用分。studentID,你赋值的是空字符串。
      

  3.   

    string sql = "insert into studentInfo(studentID,studentName,studentSex,studentIDcard,studentAddress,bb) values('','"+tbxName.Text+"','"+tbxSex.Text+"','"+tbxID.Text+"','"+tbxAddress.Text+"','') ";你定义的类型是 int 数字类型的
    但赋值的时候是 ‘’ 表示字符类型的如果你的studentid 为自增的,那就不要插入了insert into studentInfo(studentName,studentSex,studentIDcard,studentAddress,bb) values('"+tbxName.Text+"','"+tbxSex.Text+"','"+tbxID.Text+"','"+tbxAddress.Text+"','') ";这样就可以了
      

  4.   

    改完了,这次提示:cmd.ExecuteNonQuery();附近有语法错误
      

  5.   

    studentID是自动增长的,插入时就不要把它写进去了,直接改成这样试试
    string sql = "insert into studentInfo(studentName,studentSex,studentIDcard,studentAddress,bb) values('"+tbxName.Text+"','"+tbx……
      

  6.   

    你真应该去sqlserver中把语句写好后,在粘到代码中啊,把每个‘’里面的内容替换掉就行了,不然这没法做了。
      

  7.   

    还有就是 写语句的时候注意空格之间的关系 insert into studentInfo(,,,) vlues ('','','','')
      

  8.   

    改成了这样:
                string sql = "insert into studentInfo(studentName,studentSex,studentIDcard,studentAddress) values('"+tbxName.Text+"','"+tbxSex.Text+"',"+tbxID.Text+",'"+tbxAddress.Text+"') ";
                SqlCommand cmd = new SqlCommand(sql,conn);
                cmd.ExecuteNonQuery();
      

  9.   

    数据库自动增长的ID,添加的时候就不需要写进sql了,数字类型外面不要单引号,其它都需要
    学会调试,拿出你的sql到  数据库运行
    string sql = "insert into studentInfo(studentName,studentSex,studentIDcard,studentAddress) values('"+tbxName.Text+"','"+tbxSex.Text+"',"+tbxID.Text+",'"+tbxAddress.Text+"') ";如果你字段名和表名  没错, 
     studentName  字符串类型 studentSex 字符串类型 studentIDcard 数字类型且不为空  studentAddress字符串类型
    那这个sql就没错了,只能说