java中查询语句的返回值问题
我在写一个小程序.现在在查询处遇到了点问题strSQL="selecttelfrombookwherename='"+TextFieldAdd1.getText().tr...
我在写一个小程序.现在在查询处遇到了点问题
strSQL = "select tel from book where name='" + TextFieldAdd1.getText().trim() + "';";
就是我这句语句在Java里执行后 会返回什么类型?
我试了返回的不是电话号码啊
我想把查询返回的电话号码添加到一个文本框里
该怎么做?
TextFieldAdd2.setText(strSQL);
这句话最后执行的是 直接在文本框里加上了上面那条语句
而我要的是加入查到的电话号码!
我是新手可能说的不符合java的术语规则
希望大家能看明白,先谢谢了! 展开
strSQL = "select tel from book where name='" + TextFieldAdd1.getText().trim() + "';";
就是我这句语句在Java里执行后 会返回什么类型?
我试了返回的不是电话号码啊
我想把查询返回的电话号码添加到一个文本框里
该怎么做?
TextFieldAdd2.setText(strSQL);
这句话最后执行的是 直接在文本框里加上了上面那条语句
而我要的是加入查到的电话号码!
我是新手可能说的不符合java的术语规则
希望大家能看明白,先谢谢了! 展开
展开全部
java查询数据库并不是给出一条sql就可以了。
这里就要用最基本的JDBC。
返回值是放在ResultSet里面的,具体查一下Java Api说明文档。
这里给你举一个例子:
一 Java中数据库操作基本步骤流程:
取得数据库连接 - 执行sql语句 - 处理执行结果 - 释放数据库连接
取得数据库连接
例子:
String className,url,uid,pwd;
className = "oracle.jdbc.driver.OracleDriver";
url = "jdbc:oracle:thin:@127.0.0.1:1521:orasvr;
uid = "system";
pwd = "manager";
Class.forName(className);
Connection cn = DriverManager.getConnection(url,uid,pwd);
执行sql语句
String sql;
sql = "select tel from book where name='" + TextFieldAdd1.getText().trim() + "';";
PreparedStatement ps = cn.prepareStatement(sql);
ResultSet rs = ps.executeQuery(); // 查询
处理执行结果
查询语句,返回记录集ResultSet。
从ResultSet中读取你要的电话号码:
//可能有查询结果有多个号码,这时候你需要一个list或者字符串数组来保存这些记录
List lelList = new ArrayList();
while(rs.next){
String tel = rs.getString("tel"); //读取后你要的电话号码是String类型的
lelList .add(tel);
}
释放连接
cn.close();
一般,先关闭ResultSet,然后关闭Statement(或者PreparedStatement);最后关闭Connection
这里就要用最基本的JDBC。
返回值是放在ResultSet里面的,具体查一下Java Api说明文档。
这里给你举一个例子:
一 Java中数据库操作基本步骤流程:
取得数据库连接 - 执行sql语句 - 处理执行结果 - 释放数据库连接
取得数据库连接
例子:
String className,url,uid,pwd;
className = "oracle.jdbc.driver.OracleDriver";
url = "jdbc:oracle:thin:@127.0.0.1:1521:orasvr;
uid = "system";
pwd = "manager";
Class.forName(className);
Connection cn = DriverManager.getConnection(url,uid,pwd);
执行sql语句
String sql;
sql = "select tel from book where name='" + TextFieldAdd1.getText().trim() + "';";
PreparedStatement ps = cn.prepareStatement(sql);
ResultSet rs = ps.executeQuery(); // 查询
处理执行结果
查询语句,返回记录集ResultSet。
从ResultSet中读取你要的电话号码:
//可能有查询结果有多个号码,这时候你需要一个list或者字符串数组来保存这些记录
List lelList = new ArrayList();
while(rs.next){
String tel = rs.getString("tel"); //读取后你要的电话号码是String类型的
lelList .add(tel);
}
释放连接
cn.close();
一般,先关闭ResultSet,然后关闭Statement(或者PreparedStatement);最后关闭Connection
展开全部
你这个只是一条查询语句,应该使用Connection连接上数据库后,通过Statement或PreparedStatement查询返回ResultSet结果集,再取得查询结果,详细的你去看下Java的数据库连接,也就是JDBC那部分吧,东西太多了,我说不全
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
要先执行这条SQL语句 因为也不知道你用的什么数据库 要用什么连接方式
你可以根据自己用的数据 去网上搜一下对应的连接方式 就三四行代码
执行完这个SQL后
返回的是ResultSet结果集
你要遍历这个结果集
ResultSet rs=st.executeQuery();
while(rs.next())
{
String tel=rs.getString(1);
//这里得到的就是电话了 把它添到TextFieldAdd2中去就行了
TextFieldAdd2.setText(tel);
}
你可以根据自己用的数据 去网上搜一下对应的连接方式 就三四行代码
执行完这个SQL后
返回的是ResultSet结果集
你要遍历这个结果集
ResultSet rs=st.executeQuery();
while(rs.next())
{
String tel=rs.getString(1);
//这里得到的就是电话了 把它添到TextFieldAdd2中去就行了
TextFieldAdd2.setText(tel);
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
如果使用的是jdbc,返回值是resultset,如果使用的是hibernate返回值是Query
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询