Java SQLiteException:near";“进入”中:语法错误(代码1):
我面临着一个错误:我肯定这不算多,但我有点被它卡住了!我在编译时出错: SQLiteException:接近“INTO”:语法错误(代码1),而 编译:更新到(PartListDetail(ProductID、ProductName、Quantity) 值(“”,'null','0');) 如果有人能帮上忙,那就太好了(对不起我的英语) 这是我的DataBase.class和Cart.class: 数据库Java SQLiteException:near";“进入”中:语法错误(代码1):,java,android,sqlite,Java,Android,Sqlite,我面临着一个错误:我肯定这不算多,但我有点被它卡住了!我在编译时出错: SQLiteException:接近“INTO”:语法错误(代码1),而 编译:更新到(PartListDetail(ProductID、ProductName、Quantity) 值(“”,'null','0');) 如果有人能帮上忙,那就太好了(对不起我的英语) 这是我的DataBase.class和Cart.class: 数据库 public class Database extends SQLiteAssetHelp
public class Database extends SQLiteAssetHelper {
private static final String DB_NAME="myBrickList.db";
private static final int DB_VER = 1;
public Database(Context context) {
super(context, DB_NAME, null, DB_VER);
}
public List<PartList> getCarts(){
SQLiteDatabase db = getReadableDatabase();
SQLiteQueryBuilder qb = new SQLiteQueryBuilder();
String[] sqlSelect = {"ProductName","ProductID","Quantity"};
String sqlTable = "PartListDetail";
qb.setTables(sqlTable);
Cursor c = qb.query(db, sqlSelect, null, null, null,null, null);
final List<PartList> result = new ArrayList<>();
if(c.moveToFirst())
{
do{
result.add(new PartList(c.getString(c.getColumnIndex("ProductID")),
c.getString(c.getColumnIndex("ProductName")),
c.getString(c.getColumnIndex("Quantity"))
));
}while (c.moveToNext());
}
return result;
}
public void addToCart(PartList partList)
{
SQLiteDatabase db = getReadableDatabase();
String query = String.format("INSERT INTO PartListDetail(ProductID,ProductName,Quantity) VALUES('%s','%s','%s');",
partList.getProductID(),
partList.getProductName(),
partList.getQuantity());
db.execSQL(query);
}
public void UpdateToCart(PartList partList)
{
SQLiteDatabase db = getReadableDatabase();
String query = String.format("UPDATE INTO PartListDetail(ProductID,ProductName,Quantity) VALUES('%s','%s','%s');",
partList.getProductID(),
partList.getProductName(),
partList.getQuantity());
db.execSQL(query);
}
公共类数据库扩展SQLiteAssetHelper{
私有静态最终字符串DB_NAME=“myBrickList.DB”;
专用静态最终整数DB_VER=1;
公共数据库(上下文){
super(上下文、数据库名称、null、数据库版本);
}
公共列表getCarts(){
SQLiteDatabase db=getReadableDatabase();
SQLiteQueryBuilder qb=新的SQLiteQueryBuilder();
字符串[]sqlSelect={“ProductName”、“ProductID”、“Quantity”};
字符串sqlTable=“PartListDetail”;
qb.可设置表(sqlTable);
游标c=qb.query(db,sqlSelect,null,null,null,null,null);
最终列表结果=新建ArrayList();
if(c.moveToFirst())
{
做{
结果.add(新零件列表(c.getString(c.getColumnIndex(“ProductID”)),
c、 getString(c.getColumnIndex(“ProductName”),
c、 getString(c.getColumnIndex(“数量”))
));
}而(c.moveToNext());
}
返回结果;
}
public void addToCart(零件列表零件列表)
{
SQLiteDatabase db=getReadableDatabase();
String query=String.format(“插入到PartListDetail(ProductID、ProductName、Quantity)值('%s','%s','%s');”,
partList.getProductID(),
partList.getProductName(),
partList.getQuantity());
execSQL(查询);
}
public void UpdateToCart(零件列表零件列表)
{
SQLiteDatabase db=getReadableDatabase();
String query=String.format(“更新为PartListDetail(ProductID、ProductName、Quantity)值('%s','%s','%s');”,
partList.getProductID(),
partList.getProductName(),
partList.getQuantity());
execSQL(查询);
}
Cart.java
public class Cart extends AppCompatActivity {
RecyclerView recyclerView;
RecyclerView.LayoutManager layoutManager;
DatabaseReference requests;
FirebaseStorage storage;
StorageReference storageReference;
TextView txtTotalPrice;
FButton btnPlace;
List<PartList> cart = new ArrayList<>();
CartAdapter adapter;
FButton btnUp;
String brickId="";
Brick currentBrick;
FirebaseDatabase database;
ElegantNumberButton numberButton;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_cart);
//Firebase
database = FirebaseDatabase.getInstance();
requests = database.getReference("Brick");
storage = FirebaseStorage.getInstance();
storageReference = storage.getReference();
//Initialisation
recyclerView = (RecyclerView)findViewById(R.id.listCart);
recyclerView.setHasFixedSize(true);
layoutManager = new LinearLayoutManager(this);
recyclerView.setLayoutManager(layoutManager);
currentBrick = new Brick();
numberButton = new ElegantNumberButton(getBaseContext());
btnPlace = (FButton)findViewById(R.id.btnPlaceList);
btnPlace.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(cart.size() > 0)
showAlertDialog();
else
Toast.makeText(Cart.this, "Your list is empty", Toast.LENGTH_SHORT).show();
}
});
}
private void loadListBrick() {
cart = new Database(this).getCarts();
adapter = new CartAdapter(cart,this);
adapter.notifyDataSetChanged();
recyclerView.setAdapter(adapter);
}
@Override
public boolean onContextItemSelected(MenuItem item) {
if (item.getTitle().equals(Common.DELETE))
deleteCart(item.getOrder());
if (item.getTitle().equals(Common.MISEAJOUR))
showDialog();
return true;
}
private void showDialog() {
AlertDialog.Builder alertDialog = new AlertDialog.Builder(Cart.this);
alertDialog.setTitle("New Quantity");
alertDialog.setMessage("Please fill full information");
LayoutInflater inflater = this.getLayoutInflater();
View add_menu_layout = inflater.inflate(R.layout.number_layout,null);
btnUp = (FButton)add_menu_layout.findViewById(R.id.btnUploadNumber);
btnUp.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
new Database(getBaseContext()).UpdateToCart(new PartList(
brickId,
currentBrick.getName(),
numberButton.getNumber()
));
loadListBrick();
Toast.makeText(Cart.this, "Add to MyList", Toast.LENGTH_SHORT).show();
}
});
alertDialog.setView(add_menu_layout);
alertDialog.setIcon(R.drawable.ic_shopping_cart_black_24dp);
alertDialog.setPositiveButton("YES", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
dialogInterface.dismiss();
}
});
alertDialog.setNegativeButton("NO", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
dialogInterface.dismiss();
}
});
alertDialog.show();
}
公共类购物车扩展AppCompatActivity{
回收视图回收视图;
RecyclerView.LayoutManager LayoutManager;
数据库参考请求;
火基储存;
StorageReference-StorageReference;
TextView txtTotalPrice;
FButton btnPlace;
列表购物车=新的ArrayList();
卡托适配器;
FButton btnUp;
字符串“”;
砖块;
Firebase数据库;
优雅的数字按钮数字按钮;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity\u cart);
//火基
database=FirebaseDatabase.getInstance();
requests=database.getReference(“Brick”);
storage=FirebaseStorage.getInstance();
storageReference=storage.getReference();
//初始化
recyclerView=(recyclerView)findViewById(R.id.listCart);
recyclerView.setHasFixedSize(true);
layoutManager=新的LinearLayoutManager(此);
recyclerView.setLayoutManager(layoutManager);
currentBrick=新砖();
numberButton=new-ElegantNumberButton(getBaseContext());
btnPlace=(FButton)findViewById(R.id.btnPlaceList);
btnPlace.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
如果(购物车大小()>0)
showAlertDialog();
其他的
Toast.makeText(Cart.this,“您的列表为空”,Toast.LENGTH_SHORT.show();
}
});
}
私有void loadListBrick(){
cart=新数据库(this).getCarts();
适配器=新的购物车适配器(购物车,此);
adapter.notifyDataSetChanged();
recyclerView.setAdapter(适配器);
}
@凌驾
公共布尔值onContextItemSelected(MenuItem项){
if(item.getTitle().equals(Common.DELETE))
deleteCart(item.getOrder());
if(item.getTitle().equals(Common.MISEAJOUR))
showDialog();
返回true;
}
私有void showDialog(){
AlertDialog.Builder AlertDialog=新建AlertDialog.Builder(Cart.this);
alertDialog.setTitle(“新数量”);
alertDialog.setMessage(“请填写完整信息”);
LayoutInflater充气机=this.getLayoutInflater();
视图添加菜单布局=充气机。充气(R布局。编号布局,空);
btnUp=(FButton)添加菜单布局.findViewById(R.id.btnUploadNumber);
btnUp.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
新数据库(getBaseContext()).UpdateToCart(新零件列表(
布里奇,
currentBrick.getName(),
numberButton.getNumber()
));
loadListBrick();
Toast.makeText(Cart.this,“添加到MyList”,Toast.LENGTH_SHORT.show();
}
});
alertDialog.setView(添加菜单布局);
alertDialog.setIcon(R.drawable.ic_购物车_黑色_24dp);
alertDialog.setPositiveButton(“是”,新的DialogInterface.OnClickListener(){
@凌驾
公共void onClick(DialogInterface,inti){
dialogInterface.dismise();
}
});
alertDialog.setNegativeButton(“否”,新的DialogInterface.OnClickListener(){
@凌驾
公共void onClick(DialogInterface,inti){
dialogInterface.dismise();
}
});
alertDialog.show();
}
UPDATE table_name
SET column1 = value1, column2 = value2, ...
WHERE condition;
UPDATE PartListDetail SET ProductID=%s,ProductName=%s,Quantity=%s;
SQLiteDatabase db = this.getWritableDatabase();
ContentValues contentValues = new ContentValues();
contentValues.put("ProductID", ProductIDValue);
contentValues.put("ProductName", ProductNameValue);
contentValues.put("Quantity", QuantityValue);
db.update("PartListDetail", contentValues, "id = ? ", new String[] { Integer.toString(id) } );
public void UpdateToCart(PartList partList)
{
SQLiteDatabase db = getReadableDatabase();
String query = String.format("UPDATE PartListDetail SET ProductID=%s,ProductName=%s,Quantity=%s;",
partList.getProductID(),
partList.getProductName(),
partList.getQuantity());
db.execSQL(query);
}