string sqlstr = "insert into notebook (name) values ('AAAAAA')";
     string strConnection="Provider=Microsoft.Jet.OleDb.4.0;";
     strConnection+=@"Data Source=e:\website1\app_data\X##book.mdb";
    OleDbConnection cn=new OleDbConnection(strConnection);
   
cn.Open();       
 OleDbCommand cmd = new OleDbCommand(sqlstr,cn);
 cmd.ExecuteScalar;     //这句出错
cn.Close();出错提示是这样的:编译器错误信息: CS0201: 只有 assignment、call、increment、decrement 和 new 对象表达式可用作语句
请问是什么原因呢,第一次用C#哟.

解决方案 »

  1.   

    cmd.ExecuteNonQuery; 也不行呢.
    另外SQL句子没问题,在access里面可以执行.
      

  2.   

    cmd.ExecuteScalar();
    cmd.ExecuteNonQuery();注意后面一定一定要加括号,要不然就报错!!!
    C#里就是要加括号,
    比如:cn.open;      //
     string str=textbox1.text.tostring;//就会报错;
    而string str=textbox1.text.tostring();//就没有错;
      

  3.   

    楼上的已经说了,要加括号ExecuteScalar()会返回查询的第一行第一列,用于执行select会比较好ExecuteNonQuery()一般用于执行insert和update,仅返回受影响的行数