cmd.CommandText="insert into gdzcb("+"gjdm"+")values("+"?gjdm"+")";
错了!
直接用SQL语句"insert into gdzcb(gjdm)values("+"gjdm"+")";用参数
cmd.CommandText="insert into gdzcb (gjdm) values( ?)";
cmd.Parameters.Add("?gjdm",OleDbType.Char,3 );
cmd.Parameters["?gjdm"].Value=gjdmc;

解决方案 »

  1.   

    cmd.CommandText="insert into gdzcb("+"gjdm"+")values("+"?gjdm"+")";
    自己把你的commandText输出看看不就知道那里错误了?
      

  2.   

    OleDbCommand cmd=new OleDbCommand();
    cmd.Connection=nwindConn;
    cmd.CommandText="insert into gdzcb(gjdm)values(?)";
    cmd.Parameters.Add("@gjdm",OleDbType.Char,3 );
    cmd.Parameters["@gjdm"].Value=gjdmc;
    cmd.ExecuteNonQuery();
    这样写就应该没问题了,如果你写成
    cmd.CommandText="insert into gdzcb(gjdm)values(@gjdm)";
    如果是sqlClient里面用还没有问题,但是到OLEDB就会出你说的问题了
      

  3.   

    哎呀,来迟了/呵呵
    就和楼上几位说的一样,是insert语句写错了