我设计了我的数据库,并使用varchar来创建唯一的名称.我制作了一个表产品,每个产品都有一个产品代码,而且这个代码是唯一的,它不能重复,大多数这是我父表中的主键.这个想法是,例如我有一个蜡烛,蜡烛有不同的颜色,所以不同的产品,我能够使产品名称与产品代码不同.我没有使用或命名一个表作为类型为int的可索引id,并且在插入新项时它是auto_increments.我只是使用唯一代码作为外键上其他表的索引器.
我不知道这是不是很好主意,我对PHP MySQL很新,我在将值插入不同的表时遇到了一些问题,所以我使用产品代码来链接它们.现在我只知道mysqli_insert_id很久以前就可以解决我的问题了.
那么我可以使用字符串的非标准行id而不是int类型的行ID吗?
你们能帮我理解关于 join 的 SQL 规范吗?我不明白。我不断收到名为“on 子句上的未知列列表”的错误。我在 SQL 语法上遇到了这个错误,我几乎把它擦在脸上,我只是不明白为什么它不起作用,我读过一些关于它是因为优先级等的文章,但我对我所拥有的内容感到非常困惑这里做错了。
select product.name , product.price from product inner join product_category on
(product_category.product_no = product.product_no ) where product_category.sub_category =
"COFFIN";
Run Code Online (Sandbox Code Playgroud)
我知道这个问题已经在这里被问过无数次了,但是我看到的问题在这个非常基本的 sql 语法中远没有那么复杂。
谢谢你的协助。
编辑:我刚刚意识到我的product_category不是我的产品表的直接子项,所以我只是输入
select * from product
join specifications
join product_category on ( specifications.product_no = product_category.product_no);
Run Code Online (Sandbox Code Playgroud)
但这仍然给了我一个错误,未知列product_category。
我已经阅读并遵循了与此站点类似的一些说明: MYSQLunknownclausejoincolumninnextjoinUnknowncolumn {0}inonclauseMySQL “UnknownColumninOnClause”
我真的很沮丧。我真的无法让它发挥作用。
是否可以获取地图长度/大小?出于某种原因,我需要知道地图的大小以进行调试。
我似乎不能做这样的事情:
map = new Map<Int, MyObject>();
map.set(.., ..);
map.set(.., ..);
map.length // should be 2
Run Code Online (Sandbox Code Playgroud)
我希望这是可能的。如果不是,为什么?
我有一些项目的列表,我正在使用Glide将图像加载到 ImageView 上。问题是,如果某个特定项目滚动进入屏幕,那是我唯一一次看到使用Glide. 当我在图像加载完成后放置交叉淡入淡出时,这一点很明显。
我从一开始就知道需要的项目数量和其他几个项目,如页眉和页脚。我正在考虑制定一个非常长远的观点来处理所有事情并动态添加那些已知项目onCreate并使用ScrollView我已经完成的项目。我目前使用 a 实现了一种更简单的方法,RecyclerView但我在onBindView通话时间方面遇到了麻烦。
我想要的是在它们出现在屏幕上之前加载前 5 个项目。我希望这会触发我使用 Glide 将图像绑定到 ImageView 上的方法,然后它才能在屏幕中完全可见。
我遵循了本教程,但它对我不起作用。这是我目前的设置:
mComicListingAdapter = new ComicListingsAdapter(getContext(), Constants.CHAPTERS, (ComicListingsAdapter.Callback) getActivity());
mRecycleViewHomeScreen.setAdapter(mComicListingAdapter);
mRecycleViewHomeScreen.setHasFixedSize(true);
mRecycleViewHomeScreen.setItemViewCacheSize(42);
mRecycleViewHomeScreen.setLayoutManager(pcll);
Run Code Online (Sandbox Code Playgroud)
这在 RecyclerView 中可能吗?或者,也许我应该像我一样尝试动态创建ImageView并将它们附加到父级View。它看起来很棒,但在我的情况下使用这种方法有很多事情要做。我只是好奇我是否可以直接RecyclerView提前加载 n 个项目。
谢谢!
Java中的一个好处是实现接口.例如,请考虑以下代码段:
interface SimpleInterface()
{
public: void doThis();
}
...
SimpleInterface simple = new SimpleInterface()
{
@Override public doThis(){ /**Do something here*/}
}
Run Code Online (Sandbox Code Playgroud)
我能看到这一切的唯一方法是通过C++中的Lambda或将函数<>的实例传递给一个类.但我实际上是在检查这是否可行?我有实现特定接口的类,这些接口只包含1-2个方法.我无法为它编写新文件或向接受函数<>或lambda的类添加方法,以便它可以确定要执行的操作.这是严格的C++限制吗?会不会得到支持?
不知何故,我想写这样的东西:
thisClass.setAction(int i , new SimpleInterface()
{
protected:
virtual void doThis(){}
});
Run Code Online (Sandbox Code Playgroud)
但有一点是我没有检查C++ 14的最新规范,我想知道这是否可行.
谢谢!
我不知道这个适当的用语如此宽恕我的帖子标题.我希望我的工作区干净整洁,所以我想也许我应该重新组织我为我的游戏编写的库的文件结构.我有一个文件结构,如下所示:
MyLibrary/include
MyLibrary/src
Run Code Online (Sandbox Code Playgroud)
这个问题是,在客户端部分,他们有义务做这样的事情:
#include "MyLibrary/include/myfile.hpp"
Run Code Online (Sandbox Code Playgroud)
我希望它看起来像这样:
#include "MyLibrary/myfile.hpp"
Run Code Online (Sandbox Code Playgroud)
如何使用C++实现这一目标?
谢谢!
编辑:
好吧,我将编辑我的问题,这次我知道我真正需要什么。我最初的问题源于缺乏解决问题所需的信息。当然!这和我的代码有关,我的错。但只是一架飞机坠毁在陆地上,我需要飞机在坠机前正在做什么以及飞行员在坠机前正在做什么的信息。
与我需要的类似,如果我有一个 main 调用 function1 并且 function1 调用 function2 并且在 function2 上导致崩溃,所以在堆栈 function2、function1、main 上。当然,出现了崩溃,所以我需要查看类似 function1、main 的内容。我确实知道 function1 工作得很好,并注释掉了 function1 中的 function2 调用。伟大的!它就像一个魅力,天哪,我知道 function2 有问题!我的问题解决了!c::b 中一定有某种功能,它允许我查看按顺序调用的函数列表。我需要这些非常重要的信息来消除这个运行时错误。是否存在某种黑匣子或者我只是妄想?好吧,我总是可以回到我的备份,只使用我的臭代码,然后完成项目。该死的,这只是一个简单的重构,但这次却出错了。
我使用的是 Windows 7、g++ 4.7.0 和 Code::Blocks 版本 12。
另请注意,它也是一个包含许多文件的项目,并且依赖于库及其模块。我可以使用控制台和第三方应用程序,但我不理解它,如果我理解,我也不知道如何在 Windows 上执行此操作。至少我需要查看哪一行在崩溃之前最后执行,即使是很小的信息也可以让我深入了解在重构此代码时忽略的某些内容。
编辑:如果有帮助的话:这是我的堆栈跟踪的样子
#0 0040C638 ?? () (??:??)
#1 ABABABAB ?? () (??:??)
#2 FEEEFEEE ?? () (??:??)
#3 ?? ?? () (??:??)
Run Code Online (Sandbox Code Playgroud)
之前的通话在哪里?main()在哪里?例行程序期间在哪里调用这些函数?我看到的都是这个,如果是这样的话我无法解决错误。
任何帮助都会很棒。
我是Haxe的新手,只打算部署网络.
所以我有一个A具有方法名称的类doThis().在课堂上B,我继承了课程A.我doThis()在课上重写B.当我检查调试器时,A doThis()正在调用类,然后B doThis()调用类.
我的直觉是,我已经明确地覆盖了这些方法,我可以通过a来调用父方法的唯一方法,super.doThis()但它似乎是自动完成的.我只想要的版本doThis()是B.不是A.
有没有想过它为什么会这样?我想我在这里遗漏了一些东西.
谢谢!