vb.net - 为什么 jgejala = drkonsultasi.item(0) 评估为无效操作?
问题描述
我有这个代码:
comkonsultasi = New OleDbCommand("select count(idkonsultasi) from dkonsultasi where idgejala='" & idgejala & "'", conn)
drkonsultasi = comkonsultasi.ExecuteReader
jgejala = drkonsultasi.Item(0)
当它运行时,我在最后一行收到此异常消息:
InvalidOperationException 未处理。行/列不存在数据。
任何人都可以帮助解决这个问题吗?
解决方案
你必须Read()
从DataReader。使用字符串连接将数据放入这样的 SQL 查询中也是非常糟糕的。您必须改用查询参数:
Dim sql As String = "select count(idkonsultasi) from dkonsultasi where idgejala= ?"
Using conn As New OleDbConnection("connection string here"), _
comkonsultasi As New OleDbCommand(sql, conn)
'Use the actual type and length from the database for this line
comkonsultasi.Parameters.Add("idgejala", OleDbType.VarWChar, 50).Value = idgejala
conn.Open()
Using drkonsultasi As OleDbDataReader = comkonsultasi.ExecuteReader()
If drkonsultasi.Read() Then
jgejala = drkonsultasi.Item(0)
End Using
End Using
End Using
推荐阅读
- flutter - 如何在 Flutter Web 中获取文件的本地路径
- javascript - 将值复制到同一行中的下一列(如果为空白)。如果不是空白,则复制到同一行的第二列(如果为空白)。重复
- google-apps-script - 脚本正在触发但没有任何反应?
- python - 如何从源代码查看opencv方法中的枚举器?
- istanbul - 为什么我的 NYC 代码覆盖范围不适用于 ESM?
- node.js - 订阅 EKS 节点组状态更改
- java - firebase firestore 复合查询
- r - 对调查数据中的“检查所有适用项”的多个字符串使用 str_count
- json - 在 Postgres 中生成少于 12 位的有序、定时、唯一、JSON 安全 ID
- android - 使用 Android UsbManager 或 getSystemService 可能存在问题