必须声明变量 '@pp'...求救!!

swazn_yj 2006-09-14 09:28:44
string queryString = "select Pwd,id,name,dept,job,lishu from Sw_Users where UserName = @pp and Fettle='正常'";

using (OleDbConnection connection = new OleDbConnection(ConfigurationManager.AppSettings["ConnStr"]))
{
OleDbCommand command = new OleDbCommand(queryString, connection);
command.Parameters.Add(new OleDbParameter("@pp", OleDbType.VarChar, 20));
command.Parameters["@pp"].Value = UserName;
connection.Open();
try
{
OleDbDataReader reader = command.ExecuteReader();
if (reader.Read())
{
return true;
}
else
{
objConn.Close();
return false;
}
}
catch (Exception ex)
{
Response.Write(ex.Message + "<br>" + ex.Source + "<br>" + ex.StackTrace + "<br>" + ex.TargetSite);
Response.End();
}



OleDbDataReader reader = command.ExecuteReader();这一行出错!我从别处抄来的代码也会出错,郁闷!求救!!
...全文
308 25 打赏 收藏 转发到动态 举报
写回复
用AI写文章
25 条回复
切换为时间正序
请发表友善的回复…
发表回复
swsky 2006-09-14
  • 打赏
  • 举报
回复
command.Parameters.Add( "@pp", SqlType.VarChar, 20 ).Value = UserName

中的
SqlType.VarChar有问题

SqlType.VarChar-SqlDbType.VarChar
swazn_yj 2006-09-14
  • 打赏
  • 举报
回复
搞定!!散分!!
swazn_yj 2006-09-14
  • 打赏
  • 举报
回复
command.Parameters.Add( "@pp", SqlType.VarChar, 20 ).Value = UserName

中的
SqlType.VarChar有问题

wangwei155 2006-09-14
  • 打赏
  • 举报
回复
楼上正解
Ivony 2006-09-14
  • 打赏
  • 举报
回复
把所有的OleDb全部改成Sql然后uning System.Data.SqlClient即可。
swazn_yj 2006-09-14
  • 打赏
  • 举报
回复
up!!
swazn_yj 2006-09-14
  • 打赏
  • 举报
回复

sqlserver2000个人版

用SqlConnction和SqlCommand --->为什么不试试这个

To:bp69(不要偷懒,自强不息)
那个我没代码可抄,不会写。能不能给个现成的代码看看??

jack_man_ 2006-09-14
  • 打赏
  • 举报
回复
还有什么提示吗?
bp69 2006-09-14
  • 打赏
  • 举报
回复
sqlserver2000个人版

用SqlConnction和SqlCommand --->为什么不试试这个
swazn_yj 2006-09-14
  • 打赏
  • 举报
回复
晕,我这个又不是存储过程,而且个人版也支持存储过程啊!!
Ivony 2006-09-14
  • 打赏
  • 举报
回复
对了,个人版是不是不支持存储过程,如果是这样,那就是这个原因了。
swazn_yj 2006-09-14
  • 打赏
  • 举报
回复
To:abandonship(eagles of wind)

简化后涛声依旧!!
swazn_yj 2006-09-14
  • 打赏
  • 举报
回复
To:Ivony()

跟数据库版本有关吗??
Ivony 2006-09-14
  • 打赏
  • 举报
回复
sqlserver2000个人版

用SqlConnction和SqlCommand
伴老思源 2006-09-14
  • 打赏
  • 举报
回复
command.Parameters.Add(new OleDbParameter("@pp", OleDbType.VarChar, 20));
command.Parameters["@pp"].Value = UserName;

-----------------------------------------------

简化以下
string strSQL= "select Pwd,id,name,dept,job,lishu from Sw_Users where UserName = @pp and Fettle='正常'";
OleDbConnection connection = new OleDbConnection(ConfigurationManager.AppSettings["ConnStr"].ToString());
connection.Open();
OleDbCommand command = new OleDbCommand( strSQL, connection );
command.Parameters.Add( "@pp", OleDbType.VarChar, 20 ).Value = UserName;

……
swazn_yj 2006-09-14
  • 打赏
  • 举报
回复
command.Parameters.Add("@pp", OleDbType.VarChar, 20).Value = UserName;

这样写涛声依旧!!
swazn_yj 2006-09-14
  • 打赏
  • 举报
回复
sqlserver2000个人版!
hertcloud 2006-09-14
  • 打赏
  • 举报
回复
command.Parameters.Add("@pp", OleDbType.VarChar, 20).Value = UserName;
Knight94 2006-09-14
  • 打赏
  • 举报
回复
什么数据库?
swazn_yj 2006-09-14
  • 打赏
  • 举报
回复
类型是varchar(20)
UserName = @pp
代入变量下面我也给变量赋值了,而且改成直接赋值也不行!(command.Parameters["@pp"].Value = "test";
)
加载更多回复(5)

110,571

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧