2012-07-08 92 views
0

这里我的数据记录中的一个字段可以传递nvarchar的8000个字符的限制,并寻找相当大的数据类型,例如约9000个字符,任何想法? 起初我用NvarChar(8000),发现了一些后,可以通过这个界面我用NText 看看接下来会发生什么,实体框架似乎它的预期没有定义任何Insert statementData Adapter,它可以做这项工作的系统编程的过程中变更为数据适配器,我应该做一个插入命令的工作,现在定义的参数是这个样子:哪些数据类型和哪些插入参数适用于大数据

cmdIns.Parameters.Add("@story", SqlDbType.NText, 16, "Story") 

似乎的使用EF使用,同时会自动增加的限制,但不与Data Adapter而且它只是我插入16个字符的数据), 真的不知道(不记得)是否EF的测试通过了甚至大于的项目?如果是这样,我很好奇原因。

这种情况决定了正确的数据类型,它的等效工作参数将用于此大型数据字段的插入点。

注:这里的SQL Server CE是用于


编辑:

对不起,我不得不去在那个时候, 应使用的数据类型是NTEXT在这里没有其他选择 但定义**insertion Statement and parameter**有点麻烦,不幸的是没有建议的方法可以做所需的工作类似于我ga五个。

  • 没有定义长度会给出错误(运行时)!
  • 并使用AddWithValue无法使用DataAdapter并进行批量插入。 也许我必须把它放在另一个问题,但这是这个问题的一部分,这里的工作答案可能是完整的。 任何想法?
+0

你不能回避,说明大小?我认为只有接受名称,类型和价值才有重载。 – Gorgsenegger 2012-07-08 06:58:30

+0

似乎应该是正确的,我想以这种方式进行测试,但忘记测试这种方式,但我认为我应该创建一个新的参数实例,并在其构造函数中传递2参数并省略说明大小。 – Sypress 2012-07-08 07:02:05

+0

这是我的想法,我正在尝试,无论如何,如果您确信所提供的方法,请张贴并给出定义,我会标记它。 – Sypress 2012-07-08 07:07:35

回答

1

如果我理解正确你的问题,你应该罚款做这样的事情,忽略的大小没有必要:

cmdIns.Parameters.Add(new SqlParameter("story", SqlDbType.NText) 
{ 
    Value = yourVariable; 
}); 
+0

+1,此问题的第一位参与者,谢谢,似乎还有其他两个答案更接近最佳做法比这个想法,在最后的回应之前会尝试所有的。 – Sypress 2012-07-08 07:35:54

+0

它会在运行时给出错误 – Sypress 2012-07-09 04:58:42

+0

什么样的错误?我刚刚检查过,并且始终使用上面显示的代码。什么类型的cmdIns(我假设SqlCommand)? – Gorgsenegger 2012-07-09 07:49:53

1

无论何时要通过指定参数的名称和值来添加参数,请使用AddWithValue。像这样的命令.Parameters.AddWithValue(“@故事”,故事);

+0

+1并感谢您的信息 – Sypress 2012-07-08 07:32:39

+0

这是我在类似情况下长时间使用的首选方法,但在此处不起作用 – Sypress 2012-07-09 04:58:20

相关问题