string myConnectString ="Provider = Microsoft.Jet.OLEDB.4.0 ; Data Source = c:\\db2.mdb"; 
             OleDbConnection myConnection=new OleDbConnection(); 
myConnection.Open();
//然后从你的登录框中得到输入的用户名和密码。username,pwd
  //从数据库里查相应的username的密码。
    string mySelectQuery = "Select PWD From finalff1 WHERE UseName = '" + textBox1 + "'"; OleDbCommand myCommand = new OleDbCommand(mySelectQuery, myConnection);
OleDbDataReader myReader;
myReader = myCommand.ExecuteReader();
try
{
while(myReader.Read()) 
{
if(myReader.GetString() == PWD)
{
m_Form1=new Form3();
m_Form1.Show();
//输入的密码是正确的。
}
}
}
finally
{
//myReader.Close();
//myConnection.Close();
}运行时候提示重载GetString方法未获取“0”参数
PWD UserName 为数据库两个列 finalff1为表名

解决方案 »

  1.   

    string mySelectQuery = "Select PWD From finalff1 WHERE UseName = '" + textBox1 + "'";应该是Textbox1.text吧?
    如果安全一点,应该写成trim(TextBox1.Text)吧?
      

  2.   

    public override string GetString (int ordinal)
      

  3.   

    改为了textbox1.text但还是提示上面的情况
    哪位大大有这种代码吗最好注释下。。偶是新手
    有实例也好啊
      

  4.   

    GetString 方法  必须要有一个int参数。
    OleDbDataReader.GetString 方法  [C#]请参见
    OleDbDataReader 类 | OleDbDataReader 成员 | System.Data.OleDb 命名空间 | OleDbDataReader 成员(Visual J# 语法) | C++ 托管扩展编程 
    要求
    平台: Windows 98, Windows NT 4.0, Windows ME, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 系列
    语言
    C#C++JScriptVisual Basic全部显示
    获取指定列的字符串形式的值。[Visual Basic]
    Public Overridable Function GetString( _
       ByVal ordinal As Integer _
    ) As String Implements IDataRecord.GetString[C#]
    public virtual string GetString(
       int ordinal
    );[C++]
    public: virtual String* GetString(
       int ordinal
    );[JScript]
    public function GetString(
       ordinal : int
    ) : String;参数
    ordinal 
    从零开始的列序号。 
    返回值
    指定列的值。
      

  5.   

    应该是OleDbConnection myConnection=new OleDbConnection(myConnectString ); 吧?!
      

  6.   

    myReader.GetString(idx),idx是你要得到的字段索引(从0开始)
      

  7.   

    myReader.GetString() == PWD
    这个PWD是数据库表中的列名
    这样写是否正确
      

  8.   

    myReader.GetString() == PWD
    这个PWD是数据库表中的列名
    这样写是否正确
    ------------------
    不正确,上面已经说得很清楚了
      

  9.   

    if(myReader.GetString(0) == PWD)
      

  10.   

    myReader.GetString(int num),修改这里就ok了