考虑这段代码:
# in Rails 6.1
def preload(resource, relations)
ActiveRecord::Associations::Preloader.new.preload(resource, relations)
end
Run Code Online (Sandbox Code Playgroud)
所以:我想改变它以与 Rails 7 兼容,所以我写了这个:
def preload(resource, relations)
ActiveRecord::Associations::Preloader.new(records: resource, associations: relations)
end
Run Code Online (Sandbox Code Playgroud)
我做对了吗?因为 .preload(resource,relations) 在 Rails 7 中不再存在。如果您有任何其他建议,我非常期待
我刚刚开始使用 kotlin,我有一段 java 代码,我必须将其转换为 kotlin。这是Java代码:
public class NonSwipeableViewPager extends ViewPager
{
public NonSwipeableViewPager(Context context) {
super(context);
setMyScroller();
}
public NonSwipeableViewPager(Context context, AttributeSet attrs) {
super(context, attrs);
setMyScroller();
}
private void setMyScroller() {
//some code
}
}
Run Code Online (Sandbox Code Playgroud)
如果这段代码中只有一个构造函数,我可以这样写:
class NonSwipeableViewPager(context: Context): ViewPager(context) {
init {
setMyScroller()
}
private fun setMyScroller() {
//some code
}
}
Run Code Online (Sandbox Code Playgroud)
但是,由于有两个构造函数,每个构造函数都调用super()
方法,我无法弄清楚如何将此代码转换为 kotlin。我最接近的是这个:
class NonSwipeableViewPager(context: Context): ViewPager(context) {
init {
setMyScroller()
}
constructor(context: Context?, attrs: AttributeSet?) : super(context!!, attrs) {
setMyScroller()
}
private fun setMyScroller() …
Run Code Online (Sandbox Code Playgroud) 我有一个名为的数据库表Deposit
,其中一个是列名30-12-2013
.该列有两个值,例如54,26.
我想将该列列的总和变为变量.我使用以下代码:
con.Open();
SqlCeCommand cmd11 = con.CreateCommand();
cmd11.CommandText = "select sum(30-12-2013) from Deposit";
int result = ((int)cmd11.ExecuteScalar());
displaylabel.Text = result.ToString();
con.Close();
Run Code Online (Sandbox Code Playgroud)
但是,我得到变量'result'的值为-3990.
我的代码有什么问题..请帮帮我..先谢谢..
上图显示了我的数据库表中名为“igstAmt”的列之一。当我使用查询时,它返回带有许多小数点的"SELECT sum(igstAmt) as igstAmt FROM salesinvoice
值,但正确的答案是。我知道我可以在显示时对结果进行四舍五入,我想知道为什么会发生这样的情况?该列中的条目的小数点最大位数为 2,因此结果也应该有 2 个小数点,对吗?该列的数据类型是.21616.7500129491
21616.75
float
在使用Cloud Firestore 时,我在将数据添加到 Cloud Firestore文档中阅读了此声明:
重要提示:与 Firebase 实时数据库中的“推送 ID”不同,Cloud Firestore 自动生成的 ID 不提供任何自动排序。如果您希望能够按创建日期对文档进行排序,您应该将时间戳存储为文档中的一个字段。
所以,我设计了我的数据库,因为它包含timestamp
所有文档中的字段。
但在那之后,我在最佳实践文档中阅读了这些声明:
请注意,具有单调递增值的索引字段(例如时间戳)可能会导致热点,从而影响具有高读取和写入速率的应用程序的延迟。
避免高读取或写入速率以按字典顺序关闭文档,否则您的应用程序将遇到争用错误。此问题称为热点,如果您的应用程序执行以下任一操作,则它可能会遇到热点:
- 以非常高的速率创建具有单调递增字段(如时间戳)的新文档。
所以我现在很困惑。我正在开发一个安卓应用程序。我可以timestamp
用作字段吗?如果我的应用程序有很多用户,它会产生任何问题吗?是的,我必须按创建日期订购文档。
我在 kotlin 中使用协同程序使用 Room Db。这是我的 Dao 界面:
@Dao
interface CheckListNameDao {
@Insert
suspend fun insertName(name: CheckListName)
@Query("SELECT * FROM CheckListNamesTable")
fun getAllNames(): LiveData<List<CheckListName>>
}
Run Code Online (Sandbox Code Playgroud)
getAllNames()
方法工作正常。问题出在insertName()
方法上。当我suspend
从insertName()
方法中删除关键字时,它会引发此异常:java.lang.IllegalStateException: Cannot access database on the main thread since it may potentially lock the UI for a long period of time.
但是,当我使用suspend
关键字时,我无法再构建项目。它显示以下错误:
error: Methods annotated with @Insert can return either void, long, Long, long[], Long[] or List<Long>.
public abstract java.lang.Object insertName(@org.jetbrains.annotations.NotNull()
Run Code Online (Sandbox Code Playgroud)
为什么会显示这个错误?我的代码基于此Android Room with a …
这是我想要设计的布局:
正如您从图像中看到的,我希望线性布局仅限于项目 A 和项目 B,并且我希望它向左对齐。我找不到任何方法在约束布局中实现这一点。当我使用这个时:
<LinearLayout
android:id="@+id/linear_layout"
android:layout_width="wrap_content"
android:layout_height="@dimen/ui_size_xs">
Run Code Online (Sandbox Code Playgroud)
线性布局移至中间。当我使用这个时:
<LinearLayout
android:id="@+id/linear_layout"
android:layout_width="0dp"
android:layout_height="@dimen/ui_size_xs">
Run Code Online (Sandbox Code Playgroud)
线性布局占据了项目 A 和 B 之间的整个区域。
我想要线性布局wrap-content
,但也应该像图像中那样向左对齐。我能找到的唯一解决方案是创建一个新布局作为此线性布局的父级,并赋予0dp
新的父级线性布局和wrap-conent
此布局子布局。我不想那样做。有没有什么方法可以在不创建任何额外布局的情况下实现这一目标?
android android-layout android-linearlayout android-constraintlayout
我有一个这样的数据库表:
我想得到第二行的行号.我使用以下代码:
SELECT ROW_NUMBER() OVER(ORDER BY Name) From Deposit WHERE Name='Murali'
Run Code Online (Sandbox Code Playgroud)
但是,它不起作用.代码有什么问题?提前致谢.
我想在.php网页中显示数据库表.我使用以下代码:
<?php
include('../dbconnect.php');
$det= SELECT * FROM user ;
$result=mysqli_query($con,$det);
mysqli_close($con);
while($row=mysqli_fetch_array($result))
{
echo '<table style="width: 100%">
<tr>';
echo "<td>".$row['name']."</td>";
$del=$row['uid'];
echo '<td><a href=functions/deleteuser.php?id=' .$del.'>Delete</a></td>
</tr>
</table>';
}
?>
Run Code Online (Sandbox Code Playgroud)
但是,当我包含此代码时,整个网页显示为空白.没有此代码,页面工作正常.这段代码有什么问题?