马上就答辩了,项目中遇到个问题,是android项目,用的SQLite数据库。现在有个数据库的方法不会写,具体内容是:通过表中的name字段,查出对应的phonenumber字段。数据库方法不会写,求助一下。
我写了个方法,想让他传进sql语句,就返回该name的phonenumber,帮忙解答下,这么写对嘛
/*
* 操作数据库对象
*/
private SQLiteDatabase mDataBase; public String queryName(String sql) {
String count;
if (mDataBase == null) {
return 0;
}
Cursor cursor = mDataBase.rawQuery(sql, null);
count = cursor.getString(0);
cursor.close();
return count; }
我写了个方法,想让他传进sql语句,就返回该name的phonenumber,帮忙解答下,这么写对嘛
/*
* 操作数据库对象
*/
private SQLiteDatabase mDataBase; public String queryName(String sql) {
String count;
if (mDataBase == null) {
return 0;
}
Cursor cursor = mDataBase.rawQuery(sql, null);
count = cursor.getString(0);
cursor.close();
return count; }
解决方案 »
- ServletActionContext.getRequest().getRealPath(savePath)做什么用的
- xml不能被jsp页面识别 ?
- SQL Server2005日期相减问题
- 关于ClassCaseException的问题
- 启动orbd时总是报错-有点小急,在线等。谢谢!
- hibernate一个问题
- 哪里可以下载APACHE的包?org.apache.commons.httpclient
- 一般安装J2SDK都没有javax.ejb这个包吗?大家来看看这个错误:
- Maven 命令行 乱码问题导致异常
- 求助,急~~服务器端java EE ,在线等,请WEB服务端的帮忙看一下谢谢
- 如何或者list占用了多少内存
- java ee
public String getPhoneByName(String pName) {
String sql = "Select phonenumber From TABLENAME Where name='" + pName + "'";
import java.sql.*;public class Test {
public static void main(String[] args) throws Exception {
Class.forName("org.sqlite.JDBC");
Connection conn =
DriverManager.getConnection("jdbc:sqlite:test.db");
Statement stat = conn.createStatement();
stat.executeUpdate("drop table if exists people;");
stat.executeUpdate("create table people (name, occupation);");
PreparedStatement prep = conn.prepareStatement(
"insert into people values (?, ?);"); prep.setString(1, "Gandhi");
prep.setString(2, "politics");
prep.addBatch();
prep.setString(1, "Turing");
prep.setString(2, "computers");
prep.addBatch();
prep.setString(1, "Wittgenstein");
prep.setString(2, "smartypants");
prep.addBatch(); conn.setAutoCommit(false);
prep.executeBatch();
conn.setAutoCommit(true); ResultSet rs = stat.executeQuery("select * from people;");
while (rs.next()) {
System.out.println("name = " + rs.getString("name"));
System.out.println("job = " + rs.getString("occupation"));
}
rs.close();
conn.close();
}
}
http://www.zentus.com/sqlitejdbc/
public String getPhoneByName(String pName) {
String sql = "Select phonenumber From TABLENAME Where name='" + pName + "'";
String phonenumber;
if (mDataBase == null) {
return 0;
}Cursor cursor = db.rawQuery(sql, null);
while (cursor.moveToNext()) {
phonenumber = cursor.getString(0); //获取第一列的值,第一列的索引从0开始
}
cursor.close();
db.close();
return phonenumber;
}
参考下吧:
http://www.javaask.com/mobile/android/2011/1116/9180.html
if(c.moveToFirst()){
for(int i=0;i!=c.getCount();i++){
c.move(i);
phonenumber = c.getString(0);
}
}
不过说实在的,要是PHONENUMBER由用户输入还真可能存在。
我对数据库操作这块比较生疏,能请教个查询数据库,返回整个表,然后怎么把数据库里的字段全部显示出来。
如果可以,留下QQ好吗?
List lst = new ....;
while (cursor.moveToNext()) {
VO vo = new VO();
vo.setPhone(cursor.getString(0));
vo.setName(cursor.getString(1));
...
lst.add(vo);
}
return lst;可以多看看这里的文章,这家伙对安卓开发很熟:
http://blog.csdn.net/Android_Tutor/article/details/5654124