OleDbConnection con = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D://wb//web练习//WebSite1//App_Data//test.mdb");
               con.Open();      
        string aa = "select password from tab where name=aaa";
        OleDbCommand com = new OleDbCommand(aa, con);
        OleDbDataReader red = com.ExecuteReader();
      
        if (red.Read())
        {
            TextBox1.Text = red.GetString(0);        }
        con.close();当执行到 OleDbDataReader red = com.ExecuteReader();
时报错,”至少一个参数没有被指定“
请问这是怎么回事啊

解决方案 »

  1.   


    sql语句问题
    你的name字段应该是字符型的把。需要加引号有时候,access需要你把字段用中括号扩起来。        string aa = "select [password] from tab where [name]='aaa'"; 
      

  2.   

     string aa = "select password from tab where name='aaa'"; 
      

  3.   

    string aa = "select password from tab where name=aaa"; 我觉得你的SQL语句错了,你觉得name=aaa这段没有问题吗?如果name字段是字符串的话,应改为name='aaa'要加单引号
      

  4.   

    string aa = "select password from tab where name=aaa"; 
    ==
    string aa = "select [password] from [tab] where name='aaa'"; 
      

  5.   

    来,权威答案。
    经我刚才测试:
    并不是单引号的问题而是字段不存在。请楼主确认这两个字段:
    password,name
    和这个表名
    tab 
    是否存在。
      

  6.   

    access中password是关键字,而字符串应该用单引号包起来
      

  7.   

    哈,我错了。单引号也会引发相同的问题……HOHO,但字段不存在也会抛出同样的异常。
      

  8.   

    ("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\wb\web练习\WebSite1\App_Data\test.mdb"
      

  9.   

    是SQL语句的问题,谢谢大家了