如何为datareader中的变量赋值 [英] How to assign a value to a variable in datareader

查看:111
本文介绍了如何为datareader中的变量赋值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个表'clientinfo'。在这个'CartTxNo'中是一个int数据类型的列。

我想将它的值赋给变量'v_CartTxno1'。我收到错误:'没有数据时无效的尝试'在第'int行v_CartTxNo1 = reader.GetInt32(0);'

如何纠正我的代码?



SqlCommand cmd = new SqlCommand(从clientinfo选择CartTxNo,其中ClientPhone ='+ v_MobileNo +',con);

SqlParameter param = new SqlParameter( );

param.ParameterName =@ v_mem_id1;

param.Value = TextBox1.Text;

cmd.Parameters.Add(param );

con.Open();

SqlDataReader reader = cmd.ExecuteReader();

if(reader.HasRows)

{

int v_CartTxNo1 = reader.GetInt32(0);

I have a table 'clientinfo'. In this 'CartTxNo' is a column with int datatype.
I want to assign its value value to a variable 'v_CartTxno1'. I get the error: 'Invalid attempt to read when no data is present' at line ' int v_CartTxNo1 = reader.GetInt32(0);'
How to rectify my code?

SqlCommand cmd = new SqlCommand("select CartTxNo from clientinfo where ClientPhone= '" + v_MobileNo + "'", con);
SqlParameter param = new SqlParameter();
param.ParameterName = "@v_mem_id1";
param.Value = TextBox1.Text;
cmd.Parameters.Add(param);
con.Open();
SqlDataReader reader = cmd.ExecuteReader();
if (reader.HasRows)
{
int v_CartTxNo1 = reader.GetInt32(0);

推荐答案

您需要先开始阅读阅读器。



例如

You need to start reading the reader first.

For e.g.
if (reader.HasRows)
{
  while (reader.Read())
  {
    int v_CartTxNo1 = reader.GetInt32(0);
    break; 
  }
}


这篇关于如何为datareader中的变量赋值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆