繁体   English   中英

尝试从Access数据库中选择数据时,c#中的OleDb异常“未为一个或多个必需参数提供值。”

[英]OleDb Exception in c# “No value given for one or more required parameters.” while trying to Select Data from Access database

我有以下代码:

 public DataTable opencon(PAL.property objpal)
    {
        string query = "Select UserId,Firstname,UserType from TBL_USER_LOGIN where Username=@username and Password=@password and Status=1";
        OleDbCommand objcmd = new OleDbCommand();
        objcmd.CommandText = query;
        objcmd.Connection = oldbcon;
        oldbcon.Open();
        objcmd.Parameters.Add("@username", OleDbType.VarChar).Value = objpal.username;
        objcmd.Parameters.Add("@password", OleDbType.VarChar).Value = objpal.Password;
        DataTable dt = new DataTable();
        OleDbDataAdapter adp = new OleDbDataAdapter(objcmd);
        adp.Fill(dt);
        return dt;
    }

在这里,我想根据条件从表中获取一些值,但是当我运行此代码时,它显示以下错误: 在此处输入图片说明

即使我在@username和@password中传递了正确的参数值。 如何解决此错误? 请帮忙。

尝试这个:

public DataTable opencon(PAL.property objpal)
{
    string query = "Select UserId,Firstname,UserType from TBL_USER_LOGIN where Username=? and Password=? and Status=1";
    OleDbCommand objcmd = new OleDbCommand();
    objcmd.CommandText = query;
    objcmd.Connection = oldbcon;
    oldbcon.Open();
    objcmd.Parameters.Add("@username", OleDbType.VarChar).Value = objpal.username;
    objcmd.Parameters.Add("@password", OleDbType.VarChar).Value = objpal.Password;
    DataTable dt = new DataTable();
    OleDbDataAdapter adp = new OleDbDataAdapter(objcmd);
    adp.Fill(dt);
    return dt;
}

尝试这个

字符串查询=“从[TBL_USER_LOGIN]中选择[UserId],[Firstname],[UserType],其中[Username] =?和[Password] =?并且[Status] = 1”;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM