locked
Cannot implicitly convert type 'System.Data.IDataReader' to 'System.Data.SqlClient.SqlDataReader' RRS feed

  • Question

  • User221424154 posted

     I'm using visual studio 2015. I want to get the result set in sqldatareader. Here is my code:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;

    using System.Data;
    using System.Data.SqlClient;

    public partial class ADO2 : System.Web.UI.Page
    {
    SqlConnection cn = null;
    SqlCommand cmd = null;
    SqlDataAdapter dr = null;
    string sqlCommandText = string.Empty;
    protected void Page_Load(object sender, EventArgs e)
    {
    cn = new SqlConnection("Data Source=DELL;Database=ASPDB;User Id=sa;Password=123");
    }

    protected void button1_Click(object sender, EventArgs e)
    {
    sqlCommandText = "Select * from Dept,Select * from Emp";

    if (cn.State != ConnectionState.Open)
    cn.Open();
    cmd = new SqlCommand(sqlCommandText, cn);

    dr = cmd.ExecuteReader();
    }
    }

    Tuesday, January 30, 2018 5:15 AM

Answers

  • User2103319870 posted

    SqlDataAdapter dr = null;

    Try using SQLDataReader instead of DataAdapter

    SqlConnection cn = null;
    			SqlCommand cmd = null;
    			//Here use DataReader instead of DataAdapter
    			SqlDataReader dr = null;
    			string sqlCommandText = string.Empty;
    			protected void Page_Load(object sender, EventArgs e)
    			{
    				cn = new SqlConnection("Data Source=DELL;Database=ASPDB;User Id=sa;Password=123");
    			}
    
    			protected void button1_Click(object sender, EventArgs e)
    			{
    				sqlCommandText = "Select * from Dept,Select * from Emp";
    
    				if (cn.State != ConnectionState.Open)
    					cn.Open();
    				cmd = new SqlCommand(sqlCommandText, cn);
    
    				dr = cmd.ExecuteReader();
    			}

    • Marked as answer by Anonymous Thursday, October 7, 2021 12:00 AM
    Tuesday, January 30, 2018 5:28 AM

All replies

  • User2103319870 posted

    SqlDataAdapter dr = null;

    Try using SQLDataReader instead of DataAdapter

    SqlConnection cn = null;
    			SqlCommand cmd = null;
    			//Here use DataReader instead of DataAdapter
    			SqlDataReader dr = null;
    			string sqlCommandText = string.Empty;
    			protected void Page_Load(object sender, EventArgs e)
    			{
    				cn = new SqlConnection("Data Source=DELL;Database=ASPDB;User Id=sa;Password=123");
    			}
    
    			protected void button1_Click(object sender, EventArgs e)
    			{
    				sqlCommandText = "Select * from Dept,Select * from Emp";
    
    				if (cn.State != ConnectionState.Open)
    					cn.Open();
    				cmd = new SqlCommand(sqlCommandText, cn);
    
    				dr = cmd.ExecuteReader();
    			}

    • Marked as answer by Anonymous Thursday, October 7, 2021 12:00 AM
    Tuesday, January 30, 2018 5:28 AM
  • User-1838255255 posted

    Hi Manishamani,

    Through your code and exception, if you want to use command.ExecuteReader method, like A2H's reply, you could replace SqlDataAdapter dr = null; with SqlDataReader dr=null. 

    Also if you want to use SqlDataAdapter, please check the follow tutorial about how to get the data use SqlDataAdapter: 

    Populating a DataSet from a DataAdapter: 

    https://docs.microsoft.com/en-us/dotnet/framework/data/adonet/populating-a-dataset-from-a-dataadapter 

    Best Regards,

    Eric Du 

    Wednesday, January 31, 2018 4:02 AM