dataReader reader = cmd.executereader() 不起作用
本文关键字:不起作用 executereader cmd reader dataReader | 更新日期: 2023-09-27 18:35:11
我陷入了简单的数据读取器问题。
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();
}
}
它在cmd/命令下显示错误(名称cmd在当前上下文中不会退出).....
我尝试在连接前后创建对象,但不起作用。
命令类型不应为 TableDirect。
sqlcmd.CommandType = CommandType.Text; // which is default
reader = sqlcmd.executereader();
变量名称sqlcmd
,您要求executereader()
函数cmd
。
sqlcmd.CommandType = CommandType.TableDirect;
reader = cmd.executereader();
应该是
sqlcmd.CommandType = CommandType.TableDirect;
reader = sqlcmd.executereader();
还要考虑CharithJ的回答,正如他所说:
命令类型不应为 TableDirect。
下面应该可以工作。
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());
}
}
}