【问题标题】:VB - Value cannot be null errorVB - 值不能为空错误
【发布时间】:2014-01-30 10:00:03
【问题描述】:

我遇到的问题如下:

我正在使用 SQL 查询从表中取出数据,如下所示:

Dim query As String = "SELECT Pronunciation, Character FROM [Hiragana List] WHERE Pronunciation='" & pronunciation & "';"
    Dim instruction = New SqlCommand(query, sqlCon)
    Dim da As New SqlDataAdapter
    da.SelectCommand = instruction
    da.Fill(HiraganaList)

然后应该从表中获取数据并填写一个名为“平假名列表”的数据表,但是当代码到达该行时

da.Fill(Hiragana List)

程序的运行停止并返回此错误:

System.Data.dll 中出现“System.ArgumentNullException”类型的未处理异常

附加信息:值不能为空。

我查看了“平假名列表”表本身并对其进行了更改,以便它可以在每个字段中接受 Null,以查看它是否会修复它,不幸的是它仍然返回相同的错误。

(编辑)这是数据表“平假名列表”的声明:

Dim connectionString As String = "Server=my_server;Database=name_of_db;User Id=user_name;Password=my_password"
Dim sqlCon = New SqlConnection("Data Source=(LocalDB)\v11.0;AttachDbFilename='J:\Computing Coursework\real project\KES\KES\Kana List.mdf';Integrated Security=True;Connect Timeout=30")
Dim HiraganaList As DataTable
Dim KanjiList As DataTable
Dim Katakana As DataTable
Dim YoonList As DataTable
Dim YoonKataList As DataTable

【问题讨论】:

  • HiraganaList 数据集还是数据表?给我看它的声明。你在哪里定义的?

标签: sql vb.net datatable


【解决方案1】:

da.Fill(HiraganaList) 之前添加此代码:

HiraganaList = New DataTable

你需要这个来避免空异常。

【讨论】:

  • 它现在返回以下错误:“Microsoft.VisualBasic.dll 中发生类型为 'System.MissingMemberException' 的未处理异常附加信息:未找到类型 'DBNull' 的默认成员。”
猜你喜欢
  • 2015-11-07
  • 2017-12-16
  • 1970-01-01
  • 1970-01-01
  • 2012-07-22
  • 1970-01-01
  • 1970-01-01
  • 2020-09-24
  • 2020-11-16
相关资源
最近更新 更多