在查询生成器上使用rawQuery有什么好处(反之亦然)?
例如,查询生成器是否再次保护SQL注入攻击(虽然不像网站那样大问题,SQL注入+内容提供商可能是个问题)?或者比另一个更快?
我对SQL很满意(足以满足我需要做的事情)所以我倾向于使用rawQuery(我可以更简单地阅读源代码),但我只是想知道我是否遗漏了一些可能的东西有用.
好的,我有一个看起来像这样的mySQL数据库
ID - 一个int和记录的唯一ID
标题 - 项目的名称
描述 - 项目描述
我想搜索关键词的标题和描述,目前我正在使用.
SELECT*来自'item',其中标题为LIKE%key%
这是有效的,因为在数据库中没有太多,因为搜索"这个键"没有找到"这个关键"我想改进网站的搜索引擎,甚至可能添加某种排名系统对它(但那是很长一段时间).
所以对于这个问题,我听说过一个叫做"全文搜索"的东西(据我所知)是数据库设计的主要内容,但作为这个主题的新手我对此一无所知......
1)你认为它会有用吗?
还有一个问题......
2)我可以阅读有关数据库设计/搜索引擎设计的内容,这些内容将指向正确的方向.
如果它是相关的,该网站目前是用直接的PHP(没有框架的IE)编写的(想到将它转换为Ruby on Rails已经超出我的想法)
更新
谢谢大家,我会去全文搜索.对于后来的任何一个发现,我发现了一个关于全文搜索的好教程.
我是Android框架的新手,我无法通过SQLite获得第一个基础.
我正在尝试构建一个非常简单的应用程序,其中包含一个EditText搜索框,当按下某个键时,会在SQLite数据库上执行Like%word%搜索,以查找在EditText框中输入的文本,并将结果显示在列表显示.
注意下面的代码包括调试和注释代码,对不起,我还没有完成清理它.
激活是
public class sustainable_fish extends Activity {
private String keycodeToAscii(int arg2){
String retvar = "";
switch(arg2){
case KeyEvent.KEYCODE_A: retvar = "a";break;
case KeyEvent.KEYCODE_B: retvar = "b";break;
Run Code Online (Sandbox Code Playgroud)
剪掉了,但你明白了.
case KeyEvent.KEYCODE_RIGHT_BRACKET: retvar = ")";break;
default: retvar = ""; break;
};
return retvar;
}
Context that = getApplicationContext();
fishDB dh = new fishDB(getApplicationContext());
private OnKeyListener search = new OnKeyListener() {
public boolean onKey(View arg0, int arg1, KeyEvent arg2) {
@SuppressWarnings("unused")
Cursor cur = null;
String searchData;
EditText myEditText = (EditText) …Run Code Online (Sandbox Code Playgroud) 我有一个名为user_class的数据结构(这是一个类),我想从数据库加载所有用户数据.
目前我有
While SQLreader.Read()
Hold_user.username = SQLreader(0)
Hold_user.BlahBlahBlah = SQLreader(1)
Hold_user.Secret_Password = SQLreader(2)
return_value.Add(Hold_user)
End While
Run Code Online (Sandbox Code Playgroud)
其中return_value是user_class的List,hold_user是同一个类的实例.
Dim return_value As New List(Of user_class)
Dim Hold_user As New user_class
Run Code Online (Sandbox Code Playgroud)
当while语句循环读取数据时,SQLreader(0),(1)和(2)用新数据更新,但是它们似乎也在更新return_value中保存的存储值....
纠缠是Visual Studio中的一个错误,还是我需要像ByVal这样的东西,在Add方法中(我知道它不是我需要的ByVal,因为我已经尝试过了:)但我希望你明白我的意思.)