无法在备忘录、OLE或超链接对象上连接

本文关键字:超链接 对象 连接 OLE 备忘录 | 更新日期: 2023-09-27 18:12:41

数据库:MS-Access

这些是我的数据库表和列。

Table: proje
Field Name     Type
-------------  -----------------------
id             Integer(Auto Increment)
projeAdi       Long Text
sirketAdi      Long Text
Table: calisan
Field Name     Type
-------------  -----------------------
id             Integer(Auto Increment)
gun            Date/Time
isTanimi       Long Text
kulID          Integer
basSaat        Date/Time
bitisSaat      Date/Time
proje          Long Text
istipi         Long Text
Sql查询:

sorgu.Connection = baglanti;
baglanti.Open();    
sorgu.CommandText = "SELECT * FROM calisan INNER JOIN proje ON proje.projeAdi = calisan.proje;";
oku = sorgu.ExecuteReader();

我得到错误

无法连接Memo、OLE或超链接对象(project . projeadi =calisan. project)

如何解决这个限制?

无法在备忘录、OLE或超链接对象上连接

正如错误信息所述,您不能在JOIN中直接使用Memo字段(在Access 2013中称为"Long Text"字段),因此

cmd.CommandText =
        "SELECT * FROM calisan " +
        "INNER JOIN proje ON proje.projeAdi = calisan.proje";

行不通。你可以使用

cmd.CommandText =
        "SELECT * FROM calisan " +
        "INNER JOIN proje ON Left(proje.projeAdi,255) = Left(calisan.proje,255)";

,注意事项如下:

  1. 只比较每个字段的前255个字符,
  2. 查询可能执行缓慢