db.execSQL("select * from user where name ="+name);
时间: 2024-02-21 18:57:49 浏览: 256
手工注入常用SQL语句笔记.docx
在执行SQL语句时,应该使用`query()`或`rawQuery()`方法,而不是`execSQL()`方法。`execSQL()`方法用于执行不返回结果集的SQL语句,例如CREATE、UPDATE、DELETE等语句,而`query()`或`rawQuery()`方法用于执行SELECT查询语句并返回结果集。另外,你应该使用参数化查询,避免SQL注入攻击。正确的写法如下:
```
Cursor cursor = db.rawQuery("SELECT * FROM user WHERE name = ?", new String[]{name});
```
这个语句使用了`rawQuery()`方法,并采用了参数化查询的方式,其中`?`表示占位符,`new String[]{name}`表示将`name`作为参数传入SQL语句中。这样可以确保查询语句的正确性,并避免SQL注入攻击。
阅读全文