我想检查记录是否存在.
这是我尝试过的:
MainActivity.class
public void onTextChanged(CharSequence s, int start, int before, int count) {
System.out.println("Ontext changed " + new String(s.toString()));
strDocumentFrom = s.toString();
if(s.toString().isEmpty()){
} else {
try{
strTransactionDate = dbHelper.getTransactionDateByDocumentNumber(strDocumentFrom);
//strTotalAmount = dbHelper.getTotalAmountByDocumentNumber(strDocumentFrom);
//strVan = dbHelper.getVanByDocumentNumber(strDocumentFrom);
//etTransactionDate.setText(strTransactionDate);
//etTotalAmount.setText(strTotalAmount);
//Log.d("Van", "" + strVan);
//etVan.setText(strVan);
} catch (SQLiteException e) {
e.printStackTrace();
Toast.makeText(ReceivingStocksHeader.this,
"Document number does not exist.", Toast.LENGTH_SHORT).show();
}
}
Run Code Online (Sandbox Code Playgroud)
DBHelper.class
// TODO DISPLAYING RECORDS TO TRANSRCVHEADER
public String getTransactionDateByDocumentNumber(String strDocumentNumber){
String[] columns = new String[]{KEY_TRANSACTIONDATE};
Cursor c = myDataBase.query(TBL_INTRANS,
columns, …Run Code Online (Sandbox Code Playgroud) 在查询生成器上使用rawQuery有什么好处(反之亦然)?
例如,查询生成器是否再次保护SQL注入攻击(虽然不像网站那样大问题,SQL注入+内容提供商可能是个问题)?或者比另一个更快?
我对SQL很满意(足以满足我需要做的事情)所以我倾向于使用rawQuery(我可以更简单地阅读源代码),但我只是想知道我是否遗漏了一些可能的东西有用.
我有一个字符串数组,如果在插入它们之前存在于表中则需要进行检查,以避免重复.什么是SQL查询以及如何将以下值替换为它?:)
ArrayList<Product> NewProducts= new ArrayList<Product>();
Run Code Online (Sandbox Code Playgroud)
我的产品型号:
public class Product {
public Product()
{
}
public String PID = "pid";
public String getPID() {
return PID;
}
public void setPID(String pID) {
PID = pID;
}
public String getNAME() {
return NAME;
}
public void setNAME(String nAME) {
NAME = nAME;
}
public String PID = "pid";
public String NAME = "name";
}
Run Code Online (Sandbox Code Playgroud)
表名: product_pics
数据库名称: product_db
我知道这句话会有效:
"SELECT * FROM ' + product_pics + ' WHERE PID=' + pid +'" …Run Code Online (Sandbox Code Playgroud)