我用 dbExpress 连接到一个数据库,再用 SQLClientDataSet 连接一个表。这个表很简单就一个 ID 与几个字段。
这个 ID 是自动增加的,由数据库系统给出。
我在 DBGrid 中加入一行,填上除 ID 之外的其它字段。再提交或移动到别的行。
这时出现一个 EDBClient 的错误。错误描述好象还是用德语写的,
总之就是必须手动填上 ID。
但这个 ID 是自动增长的呀 
有没有谁遇到过这个问题?
如何解决?

解决方案 »

  1.   

    用SQL语句吧
    INSERT INTO table
    VALUES(['','f1'...])
      

  2.   

    如果你對應 ID 的在dataset中的字段屬性已經是 AutoInc, 那就直接用nil 就可!如果不是, 你可以先加個隨機值, 然後, 設置 ProviderFlags 對應的 pfInUpdate  為 false
      

  3.   

    就使用楼上大峡的方法,就算是自动增加的,你就用nil代替就可以了~!
      

  4.   

    to:aiirii(ari-爱的眼睛)   我用了你的方法还是不行呢?错误提示是:EDBClient width message "Es ist wert fur das feld erforderlich"是不是德语我不能肯定,但它肯定不是英语了。
      

  5.   

    我用 dbExpress 连 FireBird 的。用 InterBase 的驱动。