我过去做过一些数据库方面的工作,包括 SQL(虽然我不知道它们是哪些变体);在其中一个中,我确定有一个“occnum”关键字或类似关键字,它允许表中没有唯一字段的行通过索引来寻址?
在我目前的情况下,几年后和完全不同的工作场所,我面临着编写一个允许编辑公司特定 Access 数据库的 C# 应用程序。这个数据库缺少主键,所以我试图找到一个类似的“出现次数”功能来编辑特定的行,但没有找到任何东西。更改数据库结构不是一种选择,并且没有一个字段是唯一的。
例如,我使用 OleDbDataAdapter 来查询一些行,如下所示:
List<string> result = new List<string>();
DataSet dataSet = new DataSet();
OleDbDataAdapter oleDBA = new OleDbDataAdapter(new OleDbCommand("SELECT " + FIELDNAME_ITEMDATA_TAG + " FROM " + TABLENAME_ITEMDATA + " WHERE " + FIELDNAME_ITEMDATA_AREANUMBER + " = " + Area.ToString(), oleDbConnection));
oleDBA.Fill(dataSet, "ResourceString");
foreach (DataRow dr in dataSet.Tables[0].Rows)
{
result.Add(dr.ItemArray[0].ToString());
}
然后使用字符串列表填充 ListBox。当列表框中的条目被填充时,我希望能够通过它的出现次数来查询单个行,例如:
"SELECT " + FIELDNAME_ITEMDATA_TAG + " FROM " + TABLENAME_ITEMDATA + " WHERE " + FIELDNAME_ITEMDATA_AREANUMBER + " = " + Area.ToString(), oleDbConnection AND OCCNUM = " + OccNum
这是可行的吗?我只是没有找到正确的关键字吗?