在我的应用程序中,我有两个 edittext 并且我想要当单击打开的两个 edittext datepicker 对话框并在编辑文本中设置两个值时。
final DatePickerDialog.OnDateSetListener date = new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker view, int year, int monthOfYear,
int dayOfMonth) {
// TODO Auto-generated method stub
myCalendar.set(Calendar.YEAR, year);
myCalendar.set(Calendar.MONTH, monthOfYear);
myCalendar.set(Calendar.DAY_OF_MONTH, dayOfMonth);
updateDOB();
updateDOA();
}
};
doa.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
new DatePickerDialog(FamilyEditActivity.this, date, myCalendar
.get(Calendar.YEAR), myCalendar.get(Calendar.MONTH),
myCalendar.get(Calendar.DAY_OF_MONTH)).show();
}
});
spoucedob.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
new DatePickerDialog(FamilyEditActivity.this, date, myCalendar
.get(Calendar.YEAR), myCalendar.get(Calendar.MONTH),
myCalendar.get(Calendar.DAY_OF_MONTH)).show();
}
});
}
private void updateDOA() …Run Code Online (Sandbox Code Playgroud) 试图将背景设置为文本。问题是下一个错误——视图中的setBackground不能应用于(int)
这是我的代码
if (restaurants.get(position).getOffers() != null) {
viewHolder.offerOrNew.setText("%");
viewHolder.offerOrNew.setBackground(R.drawable.offers_style);
}
Run Code Online (Sandbox Code Playgroud)
错误是在这一行中相应地引起的
viewHolder.offerOrNew.setBackground(R.drawable.offers_style);
Run Code Online (Sandbox Code Playgroud) 在 RecyclerView.Adapter 类中注册点击监听器后,我必须滚动到位置 X!
class MyAdapter(context: Context, mRV: RecyclerView, mLayoutm: LinearLayoutManager) {
...
override fun onBindViewHolder(holder: MyViewHolder, position: Int) {
holder.itemView.XY_button.setOnClickListener { // Button inside a cell
mRV.layoutManager.scrollToPosition(x) // Not work
mRV.scrollToPosition(x) // Not work
mLayoutm.scrollToPosition(x) // Not work
(context as MyRVClass).mRV.mLayoutm.scrollToPosition(x) // Not work
(context as MyRVClass).mRV.scrollToPosition(x) // Not work
// it does't work with smoothScrollToPosition() too
}
}
}
Run Code Online (Sandbox Code Playgroud)
PS:我在 swift/iOS 中使用委托协议解决了这个问题,我们在 android/Kotlin 中是否有等效的东西?
编写SQL查询以从Employee表中获得第n个最高薪水(SQL Server)
| Id | Salary |
+----+--------+
| 1 | 100 |
| 2 | 200 |
| 3 | 300 |
Run Code Online (Sandbox Code Playgroud)
对于此示例,n = 2的第n个最高薪水是200.如果没有第n个最高薪水,则查询应返回null.
| getNthHighestSalary(2) |
+------------------------+
| 200 |
Run Code Online (Sandbox Code Playgroud)
除了使用函数之外,有没有办法编写这个查询?
我有一个 android 应用程序,它涉及登录到该应用程序并执行许多 CRUD 操作。当用户第一次登录时,如果有可供该用户下载的任何数据,它会快速记录他/她。但是后来重新登录时,这个过程很慢,有时需要大约20到30分钟。因此,我阅读了有关使用 VACUUM 来避免删除记录时创建的可用空间的信息。
我对何时以及如何使用 VACUUM 感到有些困惑,是在打开用户登录时打开数据库吗?或其他时间。
对此的任何建议都会有所帮助。谢谢
我在 Sqlite3 中工作并尝试过
DATEDIFF(days, listing_date, sale_date)
Run Code Online (Sandbox Code Playgroud)
但这没有用。在 Sqlite3 中获取时间戳两列之间的差异的正确方法是什么?
id listing_date sale_date
1 2012/02/27 2020/02/27
2 2011/06/27 2020/02/17
3 2008/08/03 2020/02/19
4 2012/12/27 2020/02/07
5 2001/02/17 2020/02/29
6 2019/02/01 2020/02/27
7 2018/02/27 2020/02/03
Run Code Online (Sandbox Code Playgroud) 我的表中有四列,分别是 col1、col2、col3、col4。我可以通过使用找到最大的价值
select greatest(col1,col2,col3,col4) from mytable;
Run Code Online (Sandbox Code Playgroud)
但我需要知道最大值的列名。
我需要按 2 列(BillingId 和 PaymentType)对数据进行分组 - 没有问题,并且输出 1 行,其中包含唯一的 PaymentType 列- 此步骤存在问题。因此,每个 BillingId 只有 1 行,该表将用于连接数据库中的另一个表。
计费表:
BillingId (unique)
12345
67890
Run Code Online (Sandbox Code Playgroud)
付款表:
PaymentId PaymentType BillingId PaymentAmount
(unique)
12 electronic 12345 62.29
14 electronic 12345 73.28
56 electronic 12345 -62.29
6 electronic 67890 83.58
2 adjustment 67890 30.43
Run Code Online (Sandbox Code Playgroud)
我的代码:
SELECT GroupedTable.*
FROM (SELECT b.BillingId,
p.PaymentType,
SUM(p.PaymentAmount) AS AmountPaid
FROM Billing AS b
LEFT JOIN Payment AS p
ON (b.BillingId = p.BillingId)
GROUP BY b.BillingId, p.PaymentType) AS GroupedTable
Run Code Online (Sandbox Code Playgroud)
输出(显然不正确):
BillingId …Run Code Online (Sandbox Code Playgroud) 我需要一些帮助。我正在尝试在新的 docker 实例上运行一些迁移脚本(旧的和本地的工作正常)。Mariadb,Innodb 引擎。
我有这样的迁移:
ALTER TABLE userinfo DROP COLUMN barcode
Run Code Online (Sandbox Code Playgroud)
这给了我错误:StatementEnd 错误代码:1072。表中不存在键列“条形码”
该专栏存在!这是我的显示创建表:
CREATE TABLE userinfo (
id int(11) unsigned NOT NULL AUTO_INCREMENT,
barcode varchar(45) NOT NULL,
store_id int(11) unsigned DEFAULT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY store_id_barcode_UNIQUE (`store_id`,`barcode`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4
Run Code Online (Sandbox Code Playgroud)
我尝试了类似的方法ALTER TABLE userinfo ADD KEY "barcode" ("barcode"),但 DROP 语句仍然不起作用。
PS 我从 CREATE 语句中删除了很多列,否则该线程将太长而无法阅读。
我正在为一家公司的销售人员设计一个 SQL 数据库,其中每个客户都会从该公司订购多个商品。我想为客户单独存储该订单。这将链接到客户表。
客户表:
目前我正在考虑为每个订单制作一个单独的订单表
订单表:
但不知道如何将其链接回客户。或者说如何唯一标识每个订单表。我会在 NoSQL 中完成,但数据必须本地存储在 SQLite 中。客户可能会多次订购,因此我应该能够识别当前和以前的订单
android ×4
java ×4
sql ×4
sqlite ×3
case ×2
sql-server ×2
alter-table ×1
group-by ×1
join ×1
kotlin ×1
mariadb ×1
postgresql ×1
t-sql ×1