OleDbDataReader reader =  cmd.ExecuteReader(); 这个是要从数据库中读取一些满足条件的信息,不要这个。
这句话删掉。
insert就是insert
reader,顾名思义,就是select 
cmd和reader没有必然的联系,就是说不用在执行cmd之前作一个reader.

解决方案 »

  1.   

    cmd分为三种执行模式:
    1:ExecuteReader(),返回一个只读的reader,通常用于select 
    2: ExecuteNonQuery() 不返回任何结果
    3:ExecuteSacary()(拼写有误)返回第一行第一列
    而你上面的程序执行了第一个和第二个方法。
    根本就是错误的
      

  2.   

    如下:
    string strSql = "insert  T_User(userName) values('full')";
    OleDbCommand cmd = new OleDbCommand(strSql,conn);
    cmd.ExecuteNonQuery();ok
      

  3.   

    换 insert  into ...删掉OleDbDataReader reader =  cmd.ExecuteReader(); 
      

  4.   

    string strSql = "insert into T_User(userName) values('full')";
    OleDbCommand cmd = new OleDbCommand(strSql,conn);
    cmd.ExecuteNonQuery();
    ACCESS数据库要加“into”
      

  5.   

    string  strSql  =    "insert  into  T_User(userName)  values('full')  ";  
    OleDbCommand  cmd  =  new  OleDbCommand(strSql,conn);  
    cmd.ExecuteNonQuery();  
    我的是这样的。
    OleDbDataReader  reader  =    cmd.ExecuteReader();这行是我测Select是用的。发的时候没有删。