我在C#中为数据库中的任何单个表创建一个简单的CRUD应用程序,通过ODBC连接与Progress数据库连接。我使用OdbcDataAdapter并附加了OdbcCommandBuilder。
OdbcCommandBuilder似乎永远不会设置我更改的行中的所有值,从而向DataAdapter提供不正确的SQL语句。
例如,在Brown表中,我更改了Name列,但获取了没有设置任何内容的Update SQL:
"UPDATE \"PUB\".\"brown\" WHERE ((\"cust-num\" = ?) AND (\"cust-seq\" = ?))"
在agent-d表中,我更改了Parent-Name列,但获取Update SQL以更改代理编号:
"UPDATE \"PUB\".\"agent-d\" SET \"agent\" = ? WHERE ((\"agent\" = ?) AND (\"parent-num\" = ?) AND (\"cust-num\" = ?))"
为什么我没有从OdbcCommandBuilder获取适当的SQL?
答案 0 :(得分:0)
发现Progress / OpenEdge DB和ODBC Command Builder不能很好地协同工作,这就是我收到愚蠢的Update语句的原因。