string sql = "SELECT * FROM Teacher WHERE (laoshiID = '"+this.TextBox1.Text+"') AND (kouling = '"+this.TextBox2.Text+"')";

解决方案 »

  1.   

    楼主最好用Parameter的方式,而不要用这种拼接SQL语句的方式.还有最后在.Text后面加ToString()
      

  2.   

    你的id是int型,用cint()转换,不用“'”;string类型药用“'“来括起来。
    "SELECT * FROM Teacher WHERE (laoshiID =" + Cint(TextBox1.Text.tostring) + ") AND (kouling = '" + TextBox2.Text.tostring + "')";
      

  3.   

    string sqlStr="SELECT * FROM Teacher WHERE laoshiID = '"+this.TextBox1.Text+"' AND kouling = '"+this.TextBox2.Text+"' "
      

  4.   

    jupiterII() 说得很好!
    我试用了Paramter的方式,设了两个参数:
    this.oleDbSelectCommand1.Parameters.Add(new System.Data.OleDb.OleDbParameter("laoshiID", System.Data.OleDb.OleDbType.VarWChar));this.oleDbSelectCommand1.Parameters.Add(new System.Data.OleDb.OleDbParameter("kouling", ystem.Data.OleDb.OleDbType.VarWChar));
    并赋值:
    this.oleDbSelectCommand1.Parameters["laoshiID"].Value=this.TextBox1.Text.ToString();
    this.oleDbSelectCommand1.Parameters["kouling"].Value=this.TextBox2.Text.ToString();
    并执行:
    string sqlStr=" SELECT * FROM Teacher WHERE (laoshiID =@laoshiID) AND (kouling = @kouling)";
    然后成功了.心中的大惑解决了,好舒服现在!!现在回想起来,这个问题的关键可能是TextBox.Text没有加上ToString,导致与数据库的字段比较中不相同,而产生错误.谢谢大家了!
      

  5.   

    .Text本身就是string 为什么还要ToString()?费解。
      

  6.   

    密码不能加.Trim()的。如果不用Parameter,你就要用Replace("'","'')来防止SQL攻击。