procedure [dbo].[Xdd_CheckLogin]
@UserName nvarchar(18),@checkResult int output
as
if exists(select id,UserName,RealName,Email from Crm_User where UserName ='wl85916' )
set @checkResult=1 --通过验证else
set @checkResult=0 --用户不存在 /// <summary>
/// 执行存储过程返回 System.Data.SqlClient.SqlDataReader,
/// 在 System.Data.SqlClient.SqlDataReader 对象关闭时,数据库连接自动关闭。
/// <param name="paraValues">传递给存储过程的参数值列表。</param>
/// <returns>包含查询结果的 System.Data.SqlClient.SqlDataReader 对象。</returns>
/// </summary>
public SqlDataReader ExecuteDataReader(out object[] output, int outParaNum, params object[] paraValues)
{
using (SqlConnection connection = new SqlConnection(Con_String))
{ SqlCommand command = this.CreateSqlCommand(connection);
output = new object[outParaNum];//存储过程中返回值的个数
try
{
this.DeriveParamenters(command);
this.AssignParameterValues(command, paraValues);
connection.Open();
return command.ExecuteReader(CommandBehavior.CloseConnection);
//return command.ExecuteReader();
}
catch
{
throw new Exception();
}
}
}
数据处理:
Enum_LoginStar state = Enum_LoginStar.Succeed;
IDataReader sdr = null;
info = new Info.GetName(String.Empty, string.Empty, string.Empty, string.Empty);
DbHelper sp = new DbHelper("Xdd_CheckLogin", DbHelper.Con_String);//类的对象
object[] paraValues = new object[2];
paraValues[0] = UserName;//从第二个参数开始赋
object[] output;
sdr = sp.ExecuteDataReader(out output,3,paraValues);
switch (Convert.ToInt32(output[0]))
{
case 0:
state = Wl_Class.Enum_LoginStar.Err_UserNo;
break;
}
if (sdr.Read())
{ string Admin_ID = sdr.GetString(2);
string pwd = sdr.GetString(3);
}
if (sdr.Read())
{
错误:阅读器关闭时尝试调用 Read 无效。
请问是为什么???
@UserName nvarchar(18),@checkResult int output
as
if exists(select id,UserName,RealName,Email from Crm_User where UserName ='wl85916' )
set @checkResult=1 --通过验证else
set @checkResult=0 --用户不存在 /// <summary>
/// 执行存储过程返回 System.Data.SqlClient.SqlDataReader,
/// 在 System.Data.SqlClient.SqlDataReader 对象关闭时,数据库连接自动关闭。
/// <param name="paraValues">传递给存储过程的参数值列表。</param>
/// <returns>包含查询结果的 System.Data.SqlClient.SqlDataReader 对象。</returns>
/// </summary>
public SqlDataReader ExecuteDataReader(out object[] output, int outParaNum, params object[] paraValues)
{
using (SqlConnection connection = new SqlConnection(Con_String))
{ SqlCommand command = this.CreateSqlCommand(connection);
output = new object[outParaNum];//存储过程中返回值的个数
try
{
this.DeriveParamenters(command);
this.AssignParameterValues(command, paraValues);
connection.Open();
return command.ExecuteReader(CommandBehavior.CloseConnection);
//return command.ExecuteReader();
}
catch
{
throw new Exception();
}
}
}
数据处理:
Enum_LoginStar state = Enum_LoginStar.Succeed;
IDataReader sdr = null;
info = new Info.GetName(String.Empty, string.Empty, string.Empty, string.Empty);
DbHelper sp = new DbHelper("Xdd_CheckLogin", DbHelper.Con_String);//类的对象
object[] paraValues = new object[2];
paraValues[0] = UserName;//从第二个参数开始赋
object[] output;
sdr = sp.ExecuteDataReader(out output,3,paraValues);
switch (Convert.ToInt32(output[0]))
{
case 0:
state = Wl_Class.Enum_LoginStar.Err_UserNo;
break;
}
if (sdr.Read())
{ string Admin_ID = sdr.GetString(2);
string pwd = sdr.GetString(3);
}
if (sdr.Read())
{
错误:阅读器关闭时尝试调用 Read 无效。
请问是为什么???
解决方案 »
- 如何处理【Message="拒绝了对对象 'Source' (数据库 'NewNet',架构 'dbo')的 SELECT 权限。"】
- 求救!关于sendKeys() 方法的乱码问题!
- 现有一段GB2312编码"=D3=CA=BC=FE=CD=B6=B5=DD=B3=AC=CA=B1=B4=ED=CE=F3",请问如何转
- 动态生成页面返回数据的问题--十万火急!
- 急急急,那位告诉帮我解决一下下面问题
- 帮忙给个思路
- 如何取得DataGridView中的某一行的信息?
- ========== 【快来看呀】末结贴集分回收器就职宣言!!!==========
- 大约70个表在C#中怎么处理
- ODP.NET连接池释放问题
- Socket:长连接,第一次通信可收发;第二次可收,发送后客户端收不到消息
- 一个关于frame框架的问题 在线等
sdr已经Close了,或者打开sdr的连接对象已经Close了,所以无法Read()的
/// 执行存储过程返回 System.Data.SqlClient.SqlDataReader,
/// 在 System.Data.SqlClient.SqlDataReader 对象关闭时,数据库连接自动关闭。
/// <param name="paraValues">传递给存储过程的参数值列表。</param>
/// <returns>包含查询结果的 System.Data.SqlClient.SqlDataReader 对象。</returns>
/// </summary>
public Object[] ExecuteDataReader(out object[] output, int outParaNum, params object[] paraValues)
{
object[] strValues = new object[1];
using (SqlConnection connection = new SqlConnection(Con_String))
{
IDataReader sdr = null;
SqlCommand command = this.CreateSqlCommand(connection);
output = new object[outParaNum];//存储过程中返回值的个数
try
{
this.DeriveParamenters(command);
this.AssignParameterValues(command, paraValues);
connection.Open();
sdr = command.ExecuteReader(CommandBehavior.CloseConnection);
if (sdr.Read())
{
strValues = new object[sdr.FieldCount];
sdr.GetValues(strValues);
}
else
{
strValues[0] = "null";
} }
catch
{
throw new Exception();
}
finally
{
sdr.Close();
command.Dispose();
}
return strValues; }
}