Проблема следующая: в первом случае открываю dbf файл через openDialog, открываю его и все перксрасно работает
 
private void button1_Click(object sender, EventArgs e)
 
        {
 
            OpenFileDialog dlgReeIN = new OpenFileDialog();
 
            //dlgReeIN.Filter = "Льготники.dbf";
 
            dlgReeIN.Title = "Выберите файл справочника льготников";
 
            if (dlgReeIN.ShowDialog() == DialogResult.OK)
 
            {
 
            string fn =  Path.GetFileName(Application.StartupPath + "\\Новая\\" + "df.DBF").ToString();
 
 
                OdbcConnection conn = new OdbcConnection();
 
                conn.ConnectionString = "Dsn=dBASE Files;" + Application.StartupPath + "\\Новая\\" + "df.DBF" + ";driverid=21;fil=dBase III;maxbuffersize=2048;pagetimeout=60;";
 
                OdbcDataAdapter DA = new OdbcDataAdapter();
 
                OdbcCommand Cmd = new OdbcCommand("select * from " + fn + " ", conn);
 
                DataSet ds = new DataSet(fn);
 
                conn.Open();
 
                DA.SelectCommand = Cmd;
 
                DA.Fill(ds, fn);
 
 
                foreach (DataRow dr in ds.Tables[fn].Rows)
 
                {
 
                    comboBox1.Items.Add(dr[0]);
 
                }
 
            }
 
        } 
 
 
если же тоже самое дело но без openDialog то выскакивает ошибка у DA.Fill(ds, fn) "ERROR [42S02] [Microsoft][Драйвер ODBC dBase] Объект 'df.DBF' не найден ядром базы данных Microsoft Jet.  Проверьте существование объекта и правильность имени и пути."
 
private void button1_Click(object sender, EventArgs e)
 
        {
 
            //OpenFileDialog dlgReeIN = new OpenFileDialog();
 
            ////dlgReeIN.Filter = "Льготники.dbf";
 
            //dlgReeIN.Title = "Выберите файл справочника льготников";
 
            //if (dlgReeIN.ShowDialog() == DialogResult.OK)
 
            //{
 
            string fn =  Path.GetFileName(Application.StartupPath + "\\Новая\\" + "df.DBF").ToString();
 
 
                OdbcConnection conn = new OdbcConnection();
 
                conn.ConnectionString = "Dsn=dBASE Files;" + Application.StartupPath + "\\Новая\\" + "df.DBF" + ";driverid=21;fil=dBase III;maxbuffersize=2048;pagetimeout=60;";
 
                OdbcDataAdapter DA = new OdbcDataAdapter();
 
                OdbcCommand Cmd = new OdbcCommand("select * from " + fn + " ", conn);
 
                DataSet ds = new DataSet(fn);
 
                conn.Open();
 
                DA.SelectCommand = Cmd;
 
                DA.Fill(ds, fn);
 
 
                foreach (DataRow dr in ds.Tables[fn].Rows)
 
                {
 
                    comboBox1.Items.Add(dr[0]);
 
                }
 
            //}
 
        } 
 
хотя пути все прописаны в обоих случаях и в openDialog не нуждаются
Ответить
        |