今天使用 ORM的Grove Kit tool 2008 时,底层ObjectOperator创建完调用Update()时一直报错,未将对象引用到实例,
错误参考
public int Update(guoshui entity)
{
List<string> keys = new List<string>();
ArrayList values = new ArrayList();
keys.Add("scoredate");
values.Add(entity.scoredate);
keys.Add("yns");
values.Add(entity.yns);
。。中间略100多行。。。
keys.Add("sjns");
values.Add(entity.sjns);
keys.Add("qse");
values.Add(entity.qse);
keys.Add("znj");
values.Add(entity.znj);
keys.Add("qsrq");
values.Add(entity.qsrq);
keys.Add("bz");
values.Add(entity.bz);
string filter = "id=" + entity.id;
return new ObjectOperator(Define.ConnectionKey).Update(typeof(guoshui), filter, keys.ToArray(), values.ToArray());
}
(为什么使用以上那种,不调用Update(object obj,string filter)的方法是因为 这种更改不支持自动增长列)
GROVE KIT TOOL 底层应该是拼写SQL 语句的形式 :Update tableName set .. 而这条语句应该是有长度限制的,比如VARCHAR(5000)
由于这张表有68个字段,所以拼接时SQL语句过长,超出限制,所以调用new ObjectOperator(Define.ConnectionKey).Update(typeof(guoshui), filter, keys.ToArray(), values.ToArray());方法时报错。
关于Grove Kit tool 2008的资料很少,希望能对使用它的朋友有一定帮助