简体   繁体   English

dataReader阅读器= cmd.executereader()不起作用

[英]dataReader reader = cmd.executereader() not working

I am stuck in simple datareader problem . 我陷入了简单的datareader问题。

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Data.SqlClient;
using System.Data.Sql;

public void proName(string str)
        {
            SqlDataReader reader;
             using (SqlConnection sqlcon = new SqlConnection(constr))
            {
               string proId = textBox3.Text;

               SqlCommand sqlcmd = new SqlCommand("SELECT proName FROM products where proId = proId;", sqlcon);
               sqlcmd.CommandType = CommandType.TableDirect;
               reader = cmd.executereader();


            }
        }

and it showing error under cmd / command (the name cmd does not exit in current context) ..... 它在cmd /命令下显示错误(名称cmd在当前上下文中不存在)...

I have tried create object before and after connection but not working. 我尝试在连接之前和之后创建对象,但无法正常工作。

Command type shouldn't be TableDirect . 命令类型不应为TableDirect

sqlcmd.CommandType = CommandType.Text; // which is default
reader = sqlcmd.executereader();

The variable name is sqlcmd and you're asking for cmd on the executereader() function. 变量名称为sqlcmd并且您需要在executereader()函数上输入cmd

sqlcmd.CommandType = CommandType.TableDirect;
reader = cmd.executereader();

Should be 应该

sqlcmd.CommandType = CommandType.TableDirect;
reader = sqlcmd.executereader();

Also consider CharithJ's answer, as he stated: 还请考虑一下CharithJ的回答,正如他所说:

Command type shouldn't be TableDirect. 命令类型不应为TableDirect。

Below should work.. 下面应该工作..

using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows.Forms;
    using System.Data.SqlClient;
    using System.Data.Sql;
        public void proName(string str)
        {
            SqlDataReader reader;
            using (SqlConnection sqlcon = new SqlConnection(constr))
            {
                string proId = textBox3.Text;
                sqlcon.Open();
                SqlCommand sqlcmd = new SqlCommand("SELECT proName FROM products where proId = proId;", sqlcon);
                sqlcmd.CommandType = CommandType.Text;
                reader = sqlcmd.ExecuteReader();
                if (reader.Read())
                {
                    Response.Write(reader[0].ToString());

                }

            }
        }

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 无法执行cmd.ExecuteReader() - Unable to execute cmd.ExecuteReader() MySqlDataReader dataReader = cmd.ExecuteReader()弹出窗口Form而不进入while循环 - MySqlDataReader dataReader =cmd.ExecuteReader() pop up the window Form without getting into the while loop OleDbDataReader cmd.ExecuteReader()“枚举没有结果” - OleDbDataReader cmd.ExecuteReader() “Enumeration Yielded No Results” SQl cmd.ExecuteReader() 它返回什么 - SQl cmd.ExecuteReader() what does it return 没有弹出窗口,错误源是rdr = cmd.executereader();。 - No popups and error source is rdr=cmd.executereader(); 坐在断点上超过3秒时,MySqlCommand cmd.ExecuteReader()错误 - MySqlCommand cmd.ExecuteReader() errors when sitting on a breakpoint for over 3 seconds '='附近的语法不正确错误:dr = cmd.ExecuteReader(); - Incorrect syntax near '=' Error: dr = cmd.ExecuteReader(); rdr = cmd.ExecuteReader()在条件表达式中给出数据类型不匹配 - rdr = cmd.ExecuteReader() giving Data type mismatch in criteria expression 如果条件为true,则中断或关闭sqlDatareader并退出使用(SqlDataReader rdr = cmd.ExecuteReader())方法 - If condition is true then break or close sqlDatareader and get out from using (SqlDataReader rdr = cmd.ExecuteReader()) method ExecuteNonQuery不起作用,但是ExecuteReader起作用 - ExecuteNonQuery not working but the ExecuteReader is working
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM