Microsoft Access不返回值

时间:2011-09-22 08:19:06

标签: c# ms-access

我编写了一个程序来节省员工的出勤率。数据库引擎是MS Access。当我使用Data-Adapter从C#程序执行查询时,它不会返回值,但是当我在Access中执行相同的查询时,它会给出结果。我在查询中使用了一个表连接


OdbcConnection conn = new OdbcConnection(Variables.ConnectionString);
                conn.ConnectionTimeout = 50;
                if (conn.State != ConnectionState.Open) conn.Open();
                string query = "SELECT l.matchine_number, e.actual_emp_number, e.user_name, e.location_name, l.date_time FROM tbl_log l " +
                               "RIGHT OUTER JOIN tbl_enroled_users AS e ON e.enroled_emp_number = l.enroled_number " +
                               "WHERE " +
                               "l.matchine_number LIKE '*" + txtMatchineNumber.Text + "*' AND " +
                               "e.actual_emp_number LIKE '*" + txtEmpNumber.Text + "*' AND " +
                               "e.user_name LIKE '*" + txtName.Text + "*' AND " +
                               "e.location_name LIKE '*" + txtLocation.Text + "*' AND " +
                               "l.date_time >= #" + dtFrom.Value.ToString("M/d/yyyy") + " 12:00:00 AM# AND " +
                               "l.date_time <= #" + dtTo.Value.ToString("M/d/yyyy") + " 11:59:59 PM# " +
                               "ORDER BY l.matchine_number, e.actual_emp_number, e.user_name, e.location_name, l.date_time";
                OdbcDataAdapter adptr = new OdbcDataAdapter(query, conn);
                DataTable dt = new DataTable();
                adptr.Fill(dt);               

                if (conn.State != ConnectionState.Closed) conn.Close();

请帮助

2 个答案:

答案 0 :(得分:1)

首先尝试使用像

这样的简单查询

SELECT l.date_time FROM tbl_log l;

查看您的连接是否正确,如果这样做有效,那么您的查询就会出现问题。

答案 1 :(得分:0)

没有任何错误消息或生成的查询字符串,它只是猜测。但我的想法是你正在使用的通配符没有被正确解释。尝试将*更改为%并查看它是否有效。