SqlText += " where 客户.时间 between " + DateTime.Parse(this.dateTimePicker1.Value.ToLongDateString()) + " and  " + DateTime.Parse(this.dateTimePicker2.Value.ToLongDateString());
                DataAccess DA = new DataAccess();
                this.table = DA.ExeSQLdt(SqlText);
                this.dataGridView1.DataSource = table.DefaultView;调试的时候没错误,直接运行界面就会出现以下问题
问题1:'0'附近有语法错误!点击确定,就会出现问题2!
问题2:this.dataGridView1.DataSource = table.DefaultView;未将对象引用设置到对象的实例。

解决方案 »

  1.   

    table好像没能实例化,没见到你这部分代码不好说
      

  2.   

    可能是table没有数据(两个DateTime.Parse()都没有验证下),可以在你的SQL句设置个断点,查查具体内容,放在SQL查询分析器,查查原因。建议table.DefaultView这种格式尽量不要使用,经常会出问题,尤其有VS2003的时候用DataView时,可用 new DataView(table)代替
      

  3.   

    问题1:'0'附近有语法错误!点击确定,就会出现问题2!
    连接的查询字符串有问题,检查查询语句是否拼接的正确。
    问题2:this.dataGridView1.DataSource = table.DefaultView;未将对象引用设置到对象的实例。
    table是null,赋值之前先检查table是否为null。
      

  4.   

    单步跟踪看看SqlText 
    this.dataGridView1.DataSource = table==null?null:table.DefaultView
      

  5.   

    按ctrl+f查询一下,找找;对于最后的问题,可以用逐句调试的方法,可以设置断点,逐步调试一下,应该找出问题!