in:<input id="tcin"><br>
out:<input id="tcout"><br>
result:<input id="tcresult"><br>
我试图在C#Entity Framework中的数据库表中添加一行,但execute语句在运行之前保持超时。 (好吧,我相信它会停止运行时超时。
我已经尝试了两个插入分离(例如名称和长度)并且两者都有效,但是当它们在一起时它会失败。我也尝试插入一个,然后尝试更新该行,但以同样的方式失败。
答案 0 :(得分:3)
您的电话需要额外的报价标志。我删除了数字数据类型的那个。
db.Database.ExecuteSqlCommand("INSERT INTO [dbo].[CalendarEvent] (Length, Name) VALUES (" + item.Length + ",'" + item.Name.Replace("'", "''") + "')");
话虽如此,你会想到一些问题。 SQL注入首先是最重要的。
我建议您使用实体框架来创建CalendarEvent对象,而不是使用其属性。通过EF Designer创建类后,它应该是这样的:
CalendarEvent ce = new CalendarEvent();
context.Entry(ce).State = EntityState.Added;
ce.Length = item.Length; // I'm assuming this is some number data type.
ce.Name = item.Name; // No replace needed
db.SaveChanges();
我也想提一下,不确定你是否有一个自动生成的PK(或者一个)。也觉得它奇怪的是保存场长。使用LEN函数(https://www.techonthenet.com/sql_server/functions/len.php)从SQL中获取它很容易。