public void Fill()
        {
            OleDbCommand cmd = new OleDbCommand();
            cmd.CommandType = CommandType.Text;
            cmd.Connection = oleDbConnection1;
            cmd.CommandText = "select * from information where 编号='" + numberbox.Text + "'";
            oleDbConnection1.Open();
            OleDbDataReader rd = cmd.ExecuteReader();//这里出错!
            while (rd.Read())
            {
                person man = new person();
                man.Number = rd.GetString(0).ToString();
                man.Name = rd.GetString(1).ToString();
                man.Sex = rd.GetString(2).ToString();
                man.EthnicGroup = rd.GetString(3).ToString();
                man.BirthPlace = rd.GetString(4).ToString();
                man.BirthDay = rd.GetDateTime(5);
                man.Tel = rd.GetString(6).ToString();
                man.address = rd.GetString(7).ToString();
            }
            rd.Close();
            oleDbConnection1.Close();
        }//这一段我想将与输入匹配的数据库中的信息显示在指定的位置
private void find_Click(object sender, EventArgs e)
        {       
            if (numberbox.Text =="")
            {
                MessageBox.Show("编号不能为空,请重新输入!", "提示对话框", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                numberbox.Focus();
            }
            else
            {               
                this.Fill();
                person man = new person();
                textBox2.Text = man.Name;
                textBox3.Text = man.Sex;
                textbox4.Text = man.EthnicGroup;
                textBox5.Text = man.BirthPlace;
                dateTimePicker1.Value = man.BirthDay;
                textBox8.Text = man.Tel;
                textBox11.Text = man.address;         
            }
        }//这是我定义的一个person类
public class person
    {
        public string Number;
        public string Name;
        public string Sex;
        public string EthnicGroup;
        public string BirthPlace;
        public DateTime BirthDay;
        public string Tel;
        public string address;
        //public string Group;
        //public string Stage;
        //public DateTime Register;
        public override string ToString()
        {
            return Number;
        }
    }

解决方案 »

  1.   

    myConnString="Provider=Microsoft.Jet.OleDb.4.0;DataSource=C:\BegASPNET\Northwind.mdb";路径写对了吗
    OleDbConnection myConnection = new OleDbConnection(myConnString); 你这里怎么写的?
    OleDbDataReader rd = cmd.ExecuteReader();/ 报的什么错误?
      

  2.   

    你的没有见到 oleDbConnection1 的定义,请参考2楼的方法,再就是关键的是报的什么错误?未将对象引用设置到对象的实例,还是数据库打开失败?
      

  3.   

    数据库链接是对的,数据库也能成功的打开
    OleDbCommand cmd = new OleDbCommand();
                cmd.CommandType = CommandType.Text;
                cmd.Connection = oleDbConnection1;            cmd.CommandText = "select * from information where 编号=num";//用这一句提示:至少一个参数没有被指定值。
                cmd.CommandText = "select * from information where 编号=‘num’";标准表达式中数据类型不匹配
                oleDbConnection1.Open();
                OleDbDataReader rd = cmd.ExecuteReader();
                while (rd.Read())
                {
                    person man = new person();
                   // man.Number = rd.GetString(0).ToString();
                    man.Name = rd.GetString(1);
                    man.Sex = rd.GetString(2);
                    man.EthnicGroup = rd.GetString(3).ToString();
                    man.BirthPlace = rd.GetString(4).ToString();
                    man.BirthDay = rd.GetDateTime(5);
                    man.Tel = rd.GetString(6).ToString();
                    man.address = rd.GetString(7).ToString();
                }
                rd.Close();
                oleDbConnection1.Close();