小第做了个方法,是访问DATAREADER的,但是总是出错,同样方法访问DATASET则可以,郁闷呀同,急急。。。
static string strConnect = "server=baoan;database=Xtreme;user id=sa;password=;";
static SqlConnection objConnection=new SqlConnection(strConnect);
//****************************** 取得参数方法 **************************************************************
public static SqlCommand funGetCmd(SqlParameter[] pmtPars,string strSPName)
{
SqlCommand objCmd=new SqlCommand(strSPName, objConnection);////Dim objCmd As New SqlCommand(strSPName, objConnection)
objCmd.CommandType=CommandType.StoredProcedure; //objCmd.CommandType = CommandType.StoredProcedure
//' 添加参数集
if(pmtPars !=null)
foreach(SqlParameter tmpPar in pmtPars)
{
objCmd.Parameters.Add(tmpPar);
}
try
{
return objCmd;
}
catch
{
return null;
}
}
//************************************************************************************************************
//******************************** 返回一个DATAREADER (公用方法)**********************
public SqlDataReader funExecSPdr(SqlParameter[] pmtPars,string strSPName)
{
SqlCommand objCmd=funGetCmd(pmtPars, strSPName);
SqlDataReader dr;
try
{
objConnection.Open();
dr= objCmd.ExecuteReader();
return dr;
}
catch
{
return null;
}
finally
{
objConnection.Close();
objConnection.Dispose();
}
}
//***********************************************************************************************************
//******************************** 返回一个DATAREADER (对具体的一个存储过程的访问)**********************
public SqlDataReader funUserdr(string strUsername)
{
SqlParameter[] objPara={new SqlParameter("@UserName",SqlDbType.NVarChar,20)};
objPara[0].Value=strUsername;
try
{
return ocls.funExecSPdr(objPara,"usp_AAUser_GetTaskInformation");
}
catch
{
return null;
}
}
//以上的为类方法,下面为窗体中的访问
clsLogin ocls=new clsLogin();//clsLogin为类名
//DataSet ds=new DataSet();
//ds=ocls.funUser();
SqlDataReader dr=ocls.funUserdr("autumn");
while(dr.Read())
{
txt.Text=dr[0].ToString();
}