【问题标题】:Get record of only same name person from table从表中获取仅同名人员的记录
【发布时间】:2019-04-29 22:17:56
【问题描述】:

我通过内部连接连接两个表,其中我们有来自两个表的列,其中一个表的主键和另一个表的外键列相同。我怎么能只得到那些人名相同的记录。

public Cursor getMedical() {
    String tables = "SELECT medical.m_id, profiles.name, medical.treatdate,
    medical.medicine, medical.diagnosis FROM profiles INNER JOIN
    medical ON id = id2 where name = ?";
    return mDB.rawQuery(tables,null);
}

【问题讨论】:

  • 我的代码不工作请帮帮我....

标签: java sql sqlite inner-join where-clause


【解决方案1】:

您必须将名称作为参数传递。
您可以将方法更改为:

public Cursor getMedical(String name) {
    String tables = "SELECT medical.m_id, profiles.name, medical.treatdate,
    medical.medicine, medical.diagnosis FROM profiles INNER JOIN
    medical ON id = id2 where name = ?";
    return mDB.rawQuery(tables, new String[] {name});
}

方法getMedical() 的参数name 将作为参数传递给rawQuery() 方法。
现在你可以调用该方法了:

Cursor c = getMedical("Bob");

Cursor c 现在包含列 name 名称为 "Bob" 的所有行。

【讨论】:

  • 如果表中已经存在人员记录并再次插入该人的记录,那么当我单击 getRecord 按钮时,它只会给我该人的记录。我在表中插入谁的记录。我怎么能这样做?
  • getRecord 按钮是什么,是什么: *如果表中已经存在人员记录 *?我的回答是关于您发布的代码。如果您还有其他问题要问,请发布另一个问题。
猜你喜欢
  • 1970-01-01
  • 2013-03-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-05-16
  • 2020-08-22
  • 2011-08-31
  • 1970-01-01
相关资源
最近更新 更多