string strsql = string.Empty
strsql = string.Format("INSERT INTO catOriginalEvent_Teacher (TermID, TermBatchNo, OriginalEventID, TeacherID) Values ('" + STermID.ToString() + "', " + TermBatchNo + ",'" + ID.ToString() + "', " + TeacherID + ")");
SqlCommand cmd = new SqlCommand(strsql, clsCATool.DBConn);我调试的时候,发现TermBatchNo 的值是"2005-1",可写到数据库里却变成了"2004",怎么回事,其他的值都是对着的

解决方案 »

  1.   

    如果是操作mdb的话,请这样
    "#', " + TermBatchNo
    试验一下。
      

  2.   

    没有理解string.Format真正的长处
    strsql = string.Format("INSERT INTO catOriginalEvent_Teacher (TermID, TermBatchNo, OriginalEventID, TeacherID) Values ({0}, '{1}',{2}, {3})",STermID,TermBatchNo,ID ,TeacherID );
    至于TermBatchNo 的值是"2005-1"为什么是2004,应该是你的TermBatchNo 的问题。
      

  3.   

    strsql = string.Format(
    "INSERT INTO catOriginalEvent_Teacher (TermID, TermBatchNo, OriginalEventID, TeacherID) Values ('{0}', '{1}', '{2}', {3})",
    STermID, TermBatchNo, ID, TeacherID );
      

  4.   

    不用string.Format
    sql=INSERT INTO catOriginalEvent_Teacher (TermID, TermBatchNo, OriginalEventID, TeacherID) Values ('" + STermID.ToString() + "', " + TermBatchNo + ",'" + ID.ToString() + "', " + TeacherID + ")"