【发布时间】:2013-01-24 15:43:07
【问题描述】:
大家好,我之前发布了一个关于如何设置有效合同以起草的问题,但经过我的研究,我发现它可以直接进入 SQL 进行更新,也可以通过复制合同然后制作来完成更新。我不得不选择选项一。我正在尝试访问我的数据库并更新表,但从插件中得到一个 SQL 通用错误。我从插件访问数据库的代码(我一般使用Entity Framework来连接):
string strConn = "Data Source=serverName;Initial Catalog=DatabaseName;IntegratedSecurity=SSPI";
SqlConnection connection = new SqlConnection();
SqlCommand command = new SqlCommand();
connection.ConnectionString = strConn;
connection.Open();
command.Connection = connection;
command.CommandText = "Update ContractBase set StateCode = 0,StatusCode = 1 "
+ "where ContractId = ACC70D43-DEBA-E111-8610-00155D041E80";
command.ExecuteNonQuery();
connection.Close();
当我从插件连接到数据库时,还有什么需要考虑的吗?提前致谢。
【问题讨论】:
-
不知道是否是您的错误原因(您没有发布错误消息),但您的过滤器中缺少单引号:
where ContractId = 'ACC70D43-DEBA-E111-8610-00155D041E80' -
是的,就是这样,非常感谢...
-
没问题。现在您的问题已解决,您可以使用解决方案回答您的问题(然后接受该答案)
-
你知道这在很大程度上不受支持吧?
-
嗨詹姆斯,是的,我知道它不受支持,但它是必需的,我必须在合约处于活动状态时更新它,两种方法是直接进入 SQL 并设置它起草或复制合同(成为草稿),然后对其进行更新。我不得不选择一个并进入SQL,因为另一种方式不符合客户的业务需求,因此我必须这样做......
标签: sql-server sql-server-2008-r2 dynamics-crm-2011 dynamics-crm dynamics-crm-4