这是我建的项目,怎么在frm中不能New    suess和AddUser 这两个窗体呢? 
而且在执行sql 语句时  
public  int rtnId(string sql)
{
   int rtn=0;
   open();
   cmd = new OleDbCommand(sql, cn);
   rtn = cmd.ExecuteNonQuery();  *****
   cmd.Dispose();   return rtn;
 }
执行到cmd.ExecuteNonQuery();  怎么就跳转出程序呢?sql语句为  sql = "select id from user where login='aa' and pass='aa'";

解决方案 »

  1.   

    cmd.ExecuteNonQuery(); 用于增、删、改操作用cmd.ExecuteScalar();
      

  2.   

    把方法改成这样
     public int rtnId(string sql)
    {
       int rtn = 0;
       open();
       cmd = new OleDbCommand(sql, cn);
       OleDbDataReader dr = cmd.ExecuteReader();
       if (dr.Read())
           rtn = Convert.ToInt32(dr["id"].ToString());
       cmd.Dispose();
       dr.Close();
       return rtn;
    }也还是不可以。  走到cmd.ExecuteReader(); 又自动跳出了程序
      

  3.   

    执行到cmd.ExecuteNonQuery(); 怎么就跳转出程序呢?
    ExecuteNonQuery()执行的是插入删除等。用cmd.ExecuteReader();
      

  4.   

      这是项目
    为什么不能在frm窗体中 new  suess和AddUser 这两个窗体呢
      

  5.   


    不能写,如果强行的写上 suess s = new suess();  程序不能启动。
      

  6.   


    用cmd.ExecuteScalar();也可以,返回第一行第一列的值
      

  7.   


    刚才也试了cmd.ExecuteScalar();这个方法,还是不可以。还是同样的情况
      

  8.   

    程序问题解决。就只剩下new新窗体的跳转问题啦。 希望各位帮忙