问题描述
publicstaticvoidCheckde(UserNewUser){SqlDataReaderrdr;stringsql=@"SELECTUserName,PasswordfromT_UserWHEREUserName=@UserNameand Password=@Password";SqlParameter[]parameters=newSqlParameter[]{newSqlParameter("@UserName",SqlDbType.VarChar,50),newSqlParameter("@Password",SqlDbType.VarChar,50)};parameters[0].Value=NewUser.UserName;parameters[1].Value=NewUser.Password;rdr=SqlHelper.ExecuteReader(null,CommandType.Text,sql,parameters);while(rdr.Read()){NewUser.UserName=rdr.GetString(1);NewUser.Password=rdr.GetString(2);}}publicstaticclassSqlHelper{publicstaticstringConnectionString=@"Server=.;Database=MyDB;IntegratedSecurity=True"; publicstaticSqlDataReaderExecuteReader(SqlTransactiontrans,CommandTypecmdType,stringcmdText,SqlParameter[]cmdParms){using(SqlConnectionconn=newSqlConnection(ConnectionString)){if(conn.State!=ConnectionState.Open)conn.Open();SqlCommandcmd=newSqlCommand();cmd.Connection=conn;cmd.CommandType=cmdType;cmd.CommandText=cmdText;if(trans!=null)cmd.Transaction=trans;if(cmdParms!=null){foreach(SqlParameterparmincmdParms)cmd.Parameters.Add(parm);}returncmd.ExecuteReader();}}}在连数据库验证后,在returncmd.ExecuteReader()这出现异常未处理,错误显示:参数化查询'(@UserNamevarchar(50),@Passwordvarchar(50))SELECTUserName,Pas'需要参数@UserName,但未提供该参数。该怎么办?
解决方案
解决方案二:
你把NEW出的那两个参数添加进去了吗?
解决方案三:
引用1楼BearFishShow的回复:
你把NEW出的那两个参数添加进去了吗?
在哪里添加参数啊?
解决方案四:
按理说你提供的两个参数应该要说明给谁用是吧。我觉得就是欠了一句代码你应该把参数加给那个:cmd.Parameters.Add(“这里是参数名”);试试看。