从String转换为SqlDbType.Ntext

时间:2014-02-27 21:38:42

标签: sql sql-server vb.net

在我的代码中,我有一个看起来像这样的字符串: FoNa:S:0:8:SuNa:S:9:6:FaNa:S:7:9:BiDa:S:10:10:EAd:S:11:24:pCo:S:25:8:
在我的SQL表中,我有一个Ntext属性的字段 我正在尝试将字符串值传递为

dbHandler.SQLComm.Parameters.Add("@PropertyNames", SqlDbType.NText).Value = QueryName
它引发了我的错误:
Object reference not set to an instance of an object. 我假设这是来自该领域的类型......但我不确定... ... 有人会帮我这个吗?

*附加信息*

以下是上下文:

srvHandler.SQLComm.Parameters.Add("@ApplicationName", SqlDbType.NVarChar, 1024).Value = MyAspNetSqlMembershipProvider.pApplicationName
dbHandler.SQLComm.Parameters.Add("@PropertyNames", SqlDbType.NText).Value = QueryName
dbHandler.SQLComm.Parameters.Add("@PropertyValuesString", SqlDbType.NText).Value = QueryValuesNames

2 个答案:

答案 0 :(得分:2)

显然,以下其中一项为空:dbHandlerdbHandler.SQLComm

在错误代码行上面添加以下内容:

Debug.Assert(dbHandler IsNot Nothing)
Debug.Assert(dbHandler.SQLComm IsNot Nothing)

然后再次尝试调试。如果它在这两行中断,你就会有答案。

否则你的代码对我来说没问题。 String值可以通过这种方式作为NText参数传递。

修改

格式化代码后,很明显应该使用srvHandler代替dbHandler。 :)

答案 1 :(得分:2)

尝试这个怎么样:

dbHandler.SQLComm.Parameters.AddWithValue("@PropertyNames", QueryName)

如果这不起作用那么它肯定是dbHandler什么都不是或者SQLComm什么都不是