繁体   English   中英

数据存在,但是我的程序说“行/列没有数据”。

[英]Data exists but my program says 'No data exists for the row/column.'

    private void recordFromTable()
    {
        String firstName = Environment.UserName.Split('.')[0];
        String lastName = Environment.UserName.Split('.')[1];
        String query = "SELECT LastUpdate FROM " + "EmployeeContact" + " WHERE EmployeeLastName='" + lastName + "' AND EmployeeFirstName='" + firstName + "'";
        try
        {
            using (OleDbConnection connection = new OleDbConnection(connectionString))
            {
                OleDbCommand command = new OleDbCommand(query, connection);
                connection.Open();
                using (OleDbDataReader reader = command.ExecuteReader())
                {
                    while (reader.Read())
                    {
                        labelLastUpdated.Text = reader.GetString(0).Trim();
                    }
                }
            }
        } catch (Exception ex)
        {
            Console.WriteLine(ex.Message);
        }
    }

引发的异常是行/列中没有数据。

我打开Access数据库并运行相同的查询(检查员在调试时显示的查询),并从数据库返回了一行。

Access中的所有字段均为“短文本”

很可能没有记录满足指定的WHERE条件,因此没有上述记录。 要验证运行此

SELECT COUNT(*) FROM 
EmployeeContact 
WHERE EmployeeLastName= lastName 
AND EmployeeFirstName=firstName;

您可能还想将查询更改为此

String query = "SELECT Nz(LastUpdate, 'NO DATA PRESENT') LastUpdate FROM " + "EmployeeContact" + " WHERE EmployeeLastName='" + lastName + "' AND EmployeeFirstName='" + firstName + "'";

如果您确定数据存在,在我看来,您的firstName或lastName变量可能没有被分配您认为是或希望它们的值。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM