日期:2014-05-20  浏览次数:20550 次

实现与access连接查询数据库,运行时报错,至少一个参数没有被指定值。

错误提示:

至少一个参数没有被指定值。  
说明:   执行当前   Web   请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。  

异常详细信息:   System.Data.OleDb.OleDbException:   至少一个参数没有被指定值。

源错误:  


行   76:  
行   77:  
行   78:   OleDbDataReader   dr   =   com.ExecuteReader();

-------------------------------------
我记得这段代码在与sql连接时没有问题,我修改了下,放到access就报错了,大家来看看代码要怎么样修改呢?谢谢!

以下为我写的代码:

private   void   Button1_Click(object   sender,   System.EventArgs   e)

{
string   strConnD= "Provider=Microsoft.Jet.OLEDB.4.0;Data   Source= "+Server.MapPath( "/user_login/db/user-info.mdb ");
OleDbConnection   myConnD   =   new   OleDbConnection(strConnD);
myConnD.Open();

string   myCommD   = "select   di2,pwd   from   userinfo   where   id2= ' "+tbid2.Text+ " '   and   pwd= ' "+tbpwd2.Text+ " ' ";

OleDbCommand   com   =   new   OleDbCommand(myCommD,myConnD);

OleDbDataReader   dr   =   com.ExecuteReader();
//以下执行查询
bool   bExist   =   false;
while(dr.Read())
{
bExist   =   true;
Session[ "UserName "]   =   dr.GetString(0);
Session[ "UserPass "]   =   dr.GetString(1);
}

if(bExist)
Response.Redirect( "WebForm1.aspx ");
else
Response.Write( " <script   language= 'javascript '> alert( '用户名称或密码错误! ') </script> ");

myConnD.Close();
}


------解决方案--------------------

string myCommD = "select di2,pwd from userinfo where id2= ' "+tbid2.Text+ " ' and pwd= ' "+tbpwd2.Text+ " ' ";
设置一个断点,看看tbid2.Text和tbpwd2.Text的是否都存在。。。
------解决方案--------------------
myCommD 的值

di2是不是写错啦

*****************************************************************************
欢迎使用CSDN论坛专用阅读器 : CSDN Reader(附全部源代码)

http://www.cnblogs.com/feiyun0112/archive/2006/09/20/509783.html