首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SqlDataReader.GetValue(0)不能得到任何东西

SqlDataReader.GetValue(0)不能得到任何东西
EN

Stack Overflow用户
提问于 2022-07-28 04:59:27
回答 2查看 85关注 0票数 4

我正在编写一些脚本来读取Intouch环境下的sql查询结果,它不是C#语言,而是类似的语言。我只想得到存储在"SQLTest“变量中的"1”(定义为字符串数据类型)。

这是我的sql查询的结果

这是我的密码:

代码语言:javascript
复制
Dim objDB As System.Data.SqlClient.SqlConnection;
Dim objCmd As System.Data.SqlClient.SqlCommand;
Dim objDR As System.Data.SqlClient.SqlDataReader;
Dim objTbl As System.Data.DataTable;
Dim sDBConnStr As String;
Dim sSQL As String;
Dim bOk As Boolean;
sDBConnStr = "Server=Desktop-3J641FK;Database=Runtime;Integrated Security=True;";
'' Connect and open the database
objDB = New System.Data.SqlClient.SqlConnection(sDBConnStr);
objDB.Open();
sSQL = "SELECT sum (case when EventLogKey = '5' and DetectDateTime between '2022-07-21 11:00:20' and '2022-07-25 11:00:20' then 1 else 0 end) FROM [Runtime].[dbo].[EventHistory]";
'' Invoke the SQL command
objCmd = New System.Data.SqlClient.SqlCommand(sSQL, objDB);
'' Retrieve the queried fields from the query into the reader
objDR = objCmd.ExecuteReader();

InTouch:SQLTesting = objDR.Read();

while objDR.Read() == true

InTouch:SQLTest = objDR.GetValue(0).ToString;

endwhile;


objDR.Close();
objDB.Dispose();
objCmd.Dispose();
EN

回答 2

Stack Overflow用户

发布于 2022-07-28 05:42:02

代码语言:javascript
复制
InTouch:SQLTesting = objDR.Read();

while objDR.Read() == true

您要给Read打两次电话,那么您预期会发生什么呢?

  • 如果只有一行,只需调用Read
  • 如果将有零行或一行,则使用Read语句调用if
  • 如果可能有多行,则使用Read循环调用while

做一个,也是唯一一个以上。如果可能有多个行,如果没有行,您想要做一些不同的事情,那么首先使用HasRows属性,然后使用while循环。

尽管如此,如果结果集中只有一个值,那么您应该调用ExecuteScalar,因此数据读取器与此无关:

代码语言:javascript
复制
InTouch:SQLTest = objCmd.ExecuteScalar().ToString();
票数 1
EN

Stack Overflow用户

发布于 2022-07-28 05:41:18

我认为您的While循环在这里是不必要的,因为您已经在While之前使用了sqldata读取器,并且您在While中使用的是Sum,它将始终返回一个值。试试这个:

代码语言:javascript
复制
InTouch:SQLTesting = objDR.Read();

InTouch:SQLTest = objDR.GetValue(0).ToString;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73147481

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档