关于mysql在myeclipse中的查询语句

publicbooleancheckUser(Stringname,Stringpass){conn=constr.getCon();booleanbl=false;St... public boolean checkUser(String name,String pass) {
conn=constr.getCon();
boolean bl=false;
String sql="select * from user_table where username=? and password=?";
try {
st=conn.prepareStatement(sql);
st.setString(1, "'"+name+"'");
st.setString(2,"'"+pass+"'");
rs=st.executeQuery();
while(rs.next()){
System.out.println(rs.getString("username"));
bl=true;

}

} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}finally{
constr.close(rs, st, conn);

}
return bl;
}

如果我把查询语句条件改成 where userid=? 下面改一些相应的东西 就查的出来
但是参数是string类型的 注:传的参肯定对 就是查不出来
着急啊
请大侠们注意我的sql语句,要你们写你们会怎么写 ,还有传参那部分。。。求指教
加 单引号 双引号 不加引号都试过了 完全滴木有用
展开
 我来答
育知同创教育
2016-04-18 · 百度知道合伙人官方认证企业
育知同创教育
1【专注:Python+人工智能|Java大数据|HTML5培训】 2【免费提供名师直播课堂、公开课及视频教程】 3【地址:北京市昌平区三旗百汇物美大卖场2层,微信公众号:yuzhitc】
向TA提问
展开全部
mysql在myeclipse中的查询语句的写法举例如下:
1、加载JDBC驱动程序(MySQL驱动)
Class.forName("com.mysql.jdbc.Driver") ;
2、提供JDBC连接的URL
//驱动程序名
String driverName = "com.mysql.jdbc.Driver";
//数据库用户名
String userName = "root";
//密码
String userPasswd = "123456";
//数据库名
String dbName = "test01";
//表名
String tableName = "student";
//联结字符串
String url = "jdbc:mysql://localhost:3306/" + dbName + "?user="
+ userName + "&password=" + userPasswd;
3、创建数据库的连接
Connection connection = DriverManager.getConnection(url);
4、创建一个Statement
要执行SQL语句,必须获得java.sql.Statement实例,Statement实例分为以下3种类型:
1).执行静态SQL语句。通常通过Statement实例实现。
2).执行动态SQL语句。通常通过PreparedStatement实例实现。
3).执行数据库存储过程。通常通过CallableStatement实例实现。
5、执行SQL语句
Statement接口提供了三种执行SQL语句的方法:executeQuery 、executeUpdate和execute
1).ResultSet executeQuery(String sqlString):执行查询数据库的SQL语句,返回一个结果集(ResultSet)对象。
2).int executeUpdate(String sqlString):用于执行INSERT、UPDATE或DELETE语句以及SQL DDL语句,如:CREATE TABLE和DROP TABLE等
3).execute(sqlString):用于执行返回多个结果集、多个更新计数或二者组合的语句。
6、处理结果
两种情况:执行更新返回的是本次操作影响到的记录数、执行查询返回的结果是一个ResultSet对象。
• ResultSet包含符合SQL语句中条件的所有行,并且它通过一套get方法提供了对这些行中数据的访问。
• 使用结果集(ResultSet)对象的访问方法获取数据:
// 此方法比较高效 列是从左到右编号的,并且从列1开始
while(rs.next()){
String name = rs.getString("name") ;
String pass = rs.getString(1) ;
}
小西
2015-08-09 · 运营
小西
运营
采纳数:218 获赞数:3887
百度知道热心用户

向TA提问 私信TA
展开全部
  public classJDBCTest {

  public static Connection getConnection() throws SQLException,
  java.lang.ClassNotFoundException
  {
  //第一步:加载MySQL的JDBC的驱动
  Class.forName("com.mysql.jdbc.Driver");

  //取得连接的url,能访问MySQL数据库的用户名,密码;jsj:数据库名
  String url = "jdbc:mysql://localhost:3306/jsj";
  String username = "root";
  String password = "111";

  //第二步:创建与MySQL数据库的连接类的实例
  Connection con =DriverManager.getConnection(url, username, password);
  return con;
   }

  public static void main(String args[]) {
  try
  {
  //第三步:获取连接类实例con,用con创建Statement对象类实例 sql_statement
  Connection con =getConnection();
  Statement sql_statement =con.createStatement();

  //向表中插入数据
  //sql_statement.executeUpdate("insert student values(1, 'liying', 98)");
  //sql_statement.executeUpdate("insert student values(2, 'jiangshan', 88)");
  //sql_statement.executeUpdate("insert student values(3, 'wangjiawu', 78)");
  45 //sql_statement.executeUpdate("insert student values(4, 'duchangfeng', 100)");

  //第四步:执行查询,用ResultSet类的对象,返回查询的结果
  String query = "select * from student";
  ResultSet result =sql_statement.executeQuery(query);
  System.out.println("Student表中的数据如下:");
  System.out.println("------------------------");
  System.out.println("学号" + " " + "姓名" + " " + "数据成绩 ");
  System.out.println("------------------------");

  //对获得的查询结果进行处理,对Result类的对象进行操作
  while (result.next())
  {
  int number = result.getInt("sno");
  String name = result.getString("sname");
  String mathScore = result.getString("sgrade");
  //取得数据库中的数据
  System.out.println(" " + number + " " + name + " " +mathScore);
   }

  //关闭连接和声明
  sql_statement.close();
  con.close();

  }catch(java.lang.ClassNotFoundException e) {
  //加载JDBC错误,所要用的驱动没有找到
  System.err.print("ClassNotFoundException");
  //其他错误
  System.err.println(e.getMessage());
  }catch (SQLException ex) {
  //显示数据库连接错误或查询错误
  System.err.println("SQLException: " +ex.getMessage());
  }
  }
  }
  ‍
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
卡西满
2011-09-29 · 超过26用户采纳过TA的回答
知道答主
回答量:67
采纳率:0%
帮助的人:54万
展开全部
st.setString(1, "'"+name+"'");
st.setString(2,"'"+pass+"'");
以上两句直接修改为:
st.setString(1, name);
st.setString(2,pass);
按照你的写法,如你的用户名username是zhangsan,密码是123456,你传至数据的sql语句应该是这样的了,select * from user_table where username = ''zhangsan'' and password = ''123456'',而正确的应该是select * from user_table where username = 'zhangsan' and password = '123456'
追问
大神 我试了试 还是一点反应没有 有没有可能是别的错 提示一下 没准能碰着
追答
你把你的sql语句放到mysql的控制台上看看能不能查询出数据,另外看看你的myeclipse控制台是否有错误信息,如果有,贴出来我看看,另外你的用户名是不是用了中文,看看是不是存在乱码的问题
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友33f52fb20
2011-09-29 · 超过44用户采纳过TA的回答
知道小有建树答主
回答量:169
采纳率:0%
帮助的人:113万
展开全部
SQL语句中 单引号和双引号貌似是不一样的把。。。。。 sql语句中的字符串是用单引号包围的,而不是双引号,想要了解学习SQL语句可以去 w3c网上看看学习学习。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
味洋扛590
2011-09-30 · TA获得超过1647个赞
知道小有建树答主
回答量:1640
采纳率:100%
帮助的人:819万
展开全部
把错误信息贴出来
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式