找不到表,先去你的ACCESS里看,文件是否被改动了,表到底存在不存在还有,我看到了一大堆if,else
这要是有10个选项,你要排列组合出1000多种SQL语句来??
不会字符串拼接吗

解决方案 »

  1.   

    关了再运行也不好使?
    OleDBConn1.Open();
    目测打开了就没关闭,再打开肯定出错.
    但是你报的错误又不对
    断点一步一步跟,看到底怎么了
      

  2.   

    textBox1_TextChanged里面放一个查询,只要textBox1发生变化都会执行查询,这样做不恰当,你可以在textBox1失去焦点或是按下Enter键的时候再做查询操作。
    断点调试,在提示"数据库找不到表"的时候,把SQLstring的内容复制到access查询里,执行看看有没有问题
      

  3.   

    我双击数据就获取当前数据,这时候设置了关闭,我也试过断点一步步看了,到了da.Fill(ds);这步就弹错,我功夫不到家看不出什么问题来
      

  4.   

    数据库连接用完后记得关闭,在cmd.ExecuteNonQuery();之后加上OleDBConn1.Close();
      

  5.   

    查询的效果我就是想要现在的效果,刚才试了报错时候去access查询没问题
      

  6.   

    fpdt是什么? 前台的报表控件吗? 把这个语句fpstr拿出来在ACCESS数据库里面建立个查询跑跑看,怀疑这个语句拼接完了根本语法不通
      

  7.   

    目测这货是个datatable啊da0.Fill(fpdt);能直接把数据扔进报表里?
      

  8.   

    fpdt这个是datatable,fpstr这个语句找的表是lcc_cost,报错的表是lcc_charge,没关系啊
      

  9.   

    http://msdn.microsoft.com/zh-cn/library/system.data.oledb.oledbdataadapter.fill(v=vs.80).aspxOleDbDataAdapter适配器的Fill方法的参数为DateSet,你传一个字符串,那必须不对了http://msdn.microsoft.com/zh-cn/library/5s322715(v=vs.80).aspx  看官方例子
      

  10.   

    我传的ds就是一个DateSet,只是定义在其他地方
      

  11.   

    DataGridView控件数据绑定
     private void Form1_Load(object sender, EventArgs e)
            {
                SqlDataAdapter sda = new SqlDataAdapter(//创建SqlDataAdapter对象
                    "select * from tb_student",
                    "server=.;database=db_test;Trusted_Connection=true");
                DataSet ds = new DataSet();//创建数据集DataSet对象
                sda.Fill(ds);//调用SqlDataAdapter对象的Fill()方法填充数据集
                dataGridView1.DataSource = ds.Tables[0];//将数据集绑定到DataGridView1控件
            }
      

  12.   

    简单看了下,共享的只有这个属性OleDBConn1,你可以先把他变成临时变量,每次都创建跟关闭试下,其他的代码正常都不应该出错
      

  13.   

    刚试了一次,发现就是打印引起的
    private void printDocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)
            {
                Font font = new Font("宋体", 8);
                Brush bru = Brushes.Blue;
                int i = 0;
                e.Graphics.DrawString(xm.Text, font, bru, i + 20, i);
            }
    那些写进数据库的操作单独拿出来做就没问题,只要一打印,就出现问题
      

  14.   

    你的代码中的命名看的有点乱啊,变量名要让别人看了一眼就知道是干嘛的,比如sql字符串,我喜欢String strSql=new String();
    变量类型+功能名(或功能名缩写)