C# 使用MVC4的SQL查询的转换错误(nvarchar到int)
我从Shark探员的另一篇stackoverflow文章中收到了这段代码,并对其进行了轻微的修改以供我使用。问题是我得到了一个错误: 将nvarchar值“3943239431394303942939428”转换为数据类型int时,转换失败 问题是,我如何解决这个问题 原StackOverFlow Post: 以下是我正在使用的代码:C# 使用MVC4的SQL查询的转换错误(nvarchar到int),c#,sql,asp.net-mvc,asp.net-mvc-4,C#,Sql,Asp.net Mvc,Asp.net Mvc 4,我从Shark探员的另一篇stackoverflow文章中收到了这段代码,并对其进行了轻微的修改以供我使用。问题是我得到了一个错误: 将nvarchar值“3943239431394303942939428”转换为数据类型int时,转换失败 问题是,我如何解决这个问题 原StackOverFlow Post: 以下是我正在使用的代码: public void DeleteBatchCampaignContacts(IList<int> ids) { if (ids == n
public void DeleteBatchCampaignContacts(IList<int> ids)
{
if (ids == null) return;
if (ids.Count == 0) return;
var idsToDelete = new StringBuilder();
foreach (var id in ids)
{
idsToDelete.AppendFormat(",{0}", id);
}
db.Database.ExecuteSqlCommand("DELETE FROM EmailContactCampaign WHERE EmailContact_EmailContactId in (@contactIds)",
new SqlParameter("@contactIds", idsToDelete.ToString().Remove(0, 1)));
}
public-void-deleteBatchActivationContacts(IList-id)
{
if(ids==null)返回;
如果(ids.Count==0)返回;
var idsToDelete=新的StringBuilder();
foreach(id中的变量id)
{
AppendFormat(“,{0}”,id);
}
db.Database.ExecuteSqlCommand(“从EmailContactCampaign中删除,其中EmailContact_EmailContactId位于(@contactId)”,
新的SqlParameter(“@contactIds”,idsToDelete.ToString().Remove(0,1));
}
您必须将表值参数
与SqlDbType.Structured
结合使用。我不熟悉编写查询。“你能给我举个例子吗?”哈姆雷特给了你两个很好的关键词,可以用来(重新)搜索你问题的解决方案!只要去谷歌搜索,然后阅读、学习和应用你所学的……我完全同意@marc_;)好的,我有作业了。谢谢你的帮助。:)
Database.ExecuteSqlCommand(string.Format("DELETE FROM CampainContacts WHERE CampaignId in ({0})", idsToDelete.ToString().Remove(0, 1)));