VB - 值不能为空错误

时间:2014-01-11 10:20:49

标签: sql vb.net datatable

我遇到的问题如下:

我正在使用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)

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

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

1 个答案:

答案 0 :(得分:1)

您的代码正好da.Fill(HiraganaList)添加此代码:

HiraganaList = New DataTable

你需要这个以避免null异常。