string connectionString = GetConnString(); //获取连接字符串
 string select_sql = "select userID from users where userName='"+ddlcuser.SelectedValue+"'";//userID是access里面自动编号的数字
 OleDbConnection myConnection = new OleDbConnection(connectionString);
 OleDbCommand myCommand = new OleDbCommand(select_sql,myConnection);
 myConnection.Open();
 myCommand.ExecuteNonQuery();
 OleDbDataReader dr = myCommand.ExecuteReader();
 myConnection.Close();怎么得到select的结果,假如定义一个int usrid,把结果赋给usrid

解决方案 »

  1.   


    int userID=0;
    string connectionString = GetConnString(); //获取连接字符串
     string select_sql = "select userID from users where userName='"+ddlcuser.SelectedValue+"'";//userID是access里面自动编号的数字
     OleDbConnection myConnection = new OleDbConnection(connectionString);
     OleDbCommand myCommand = new OleDbCommand(select_sql,myConnection);
     myConnection.Open();
     OleDbDataReader dr = myCommand.ExecuteReader();
     if(dr!=null)
    {
      if(dr.Read())
       { 
         userID = Convert.ToInt32(dr[0]);
       }
       dr.Close();
    }
     myConnection.Close();
      

  2.   

    都一样   只是在连接的时候OleDbConnection 替换了SQLConnection而已
      

  3.   

    定义一个userid,看你返回的是一个什么样的数据了,只有一条的话:
    if(dr.Read()){userid=Convert.ToInt32(dr["userid"])}["userid"]是查询语句中的字段。
    如果是多条则需要一个集合,循环读取就可以了while(dr.Read(){里面的都一样})
      

  4.   

    ExecuteNonQuery 是执行 增删改操作读取要用ExecuteReader
      

  5.   

    如果你要看返回字段的内容
    userID=dr["字段名"]   看哪个字段写哪个字段名。如果看行数dr.count  .  如果你用INT类型接收string的,  那只有强制转换, 当string类型不是数字会出错的