Skip to content

Commit 905e7e4

Browse files
author
paulo
committed
Ajustando update
1 parent 8f5cba3 commit 905e7e4

File tree

3 files changed

+37
-31
lines changed

3 files changed

+37
-31
lines changed

app/src/main/java/br/com/sql/Example.java

Lines changed: 20 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -15,24 +15,36 @@ protected void onCreate(Bundle savedInstanceState) {
1515
super.onCreate(savedInstanceState);
1616
setContentView(R.layout.activity_example);
1717
SimpleSQL simpleSQL = new SimpleSQL(new HelperBD(this));
18-
Pessoa pessoa = new Pessoa();
19-
pessoa.setName("paulo");
20-
pessoa.setEmail("[email protected]");
21-
pessoa.setPhone("12317820");
22-
boolean result = simpleSQL.insert(pessoa).execute();
18+
// Pessoa pessoa = new Pessoa();
19+
// pessoa.setName("paulo");
20+
// pessoa.setEmail("[email protected]");
21+
// pessoa.setPhone("12317820");
22+
// boolean result = simpleSQL.insert(pessoa).execute();
2323

2424
List<Pessoa> list = simpleSQL.selectTable(new Pessoa())
2525
.fields("*")
2626
.execute();
2727

28-
simpleSQL.updateTable(new Pessoa())
29-
.set("name","email")
30-
.values("Novo Nome","Novo Email")
28+
simpleSQL.updateTable(new Pessoa())
29+
.set("name", "email")
30+
.values("Novo Nome", "Novo Email")
3131
.where()
3232
.column("id")
3333
.equals()
3434
.fieldInt(1)
3535
.execute();
36+
try {
37+
simpleSQL.updateTable(new Pessoa())
38+
.set("name", "email")
39+
.values("Novo Nome", "Nova Idade")
40+
.where()
41+
.column("id")
42+
.equals()
43+
.fieldInt(1)
44+
.execute();
45+
} catch (Exception e) {
46+
e.printStackTrace();
47+
}
3648

3749
list.clear();
3850
}

simplesql/src/main/java/com/simplesql/crud/Select.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ public class Select {
2424
private String[] fields;
2525
private boolean where, equals, between, or, on, and, like, innerJoin, leftJoin, rightJoin, fullJoin, functionParameter;
2626
private Object value;
27-
private StringBuilder SQLString;
27+
private StringBuilder SQLString = new StringBuilder();
2828
private Object typeObject;
2929
private static final String KEY_FUNCTION_PARAMETER = "%column";
3030
private static final String KEY_COLIMN_NAME_MAX = "value_function";

simplesql/src/main/java/com/simplesql/crud/Update.java

Lines changed: 16 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,8 @@ public class Update {
1616
private StringBuilder SQLString = new StringBuilder();
1717

1818
private Object value;
19-
private Object[] values, fields;
19+
private Object[] values;
20+
private String[] fields;
2021

2122
/**
2223
* @param typeObject
@@ -34,16 +35,6 @@ public Update(Object typeObject) {
3435
*/
3536
public Update set(String... fields) {
3637
this.fields = fields;
37-
int i = 0;
38-
StringBuilder stringSet = new StringBuilder();
39-
for (String s : fields) {
40-
stringSet.append(s)
41-
.append(" = %")
42-
.append(i)
43-
.append(",");
44-
i++;
45-
}
46-
SQLString.append(" SET ").append(stringSet);
4738
return this;
4839
}
4940

@@ -56,7 +47,18 @@ public Update values(Object... values) {
5647
}
5748

5849
public Update where() {
59-
SQLString.append(" WHERE ");
50+
int i = 0;
51+
StringBuilder stringSet = new StringBuilder();
52+
for (String s : fields) {
53+
if (i > 0) stringSet.append(",");
54+
stringSet.append(s)
55+
.append(" = ")
56+
.append(values[i].getClass() == String.class ? "\"" + values[i] + "\"" : values[i]);
57+
i++;
58+
}
59+
SQLString.append(" SET ")
60+
.append(stringSet)
61+
.append(" WHERE ");
6062
return this;
6163
}
6264

@@ -123,17 +125,9 @@ public Update writeSQL(String operator) {
123125
return this;
124126
}
125127

126-
public void execute() throws SQLException {
127-
SQLiteDatabase write = helperBD.getReadableDatabase();
128-
int i = 0;
129-
for (Object s : fields) {
130-
String replace = "%" + i;
131-
String aux = SQLString.toString().replace(replace, (CharSequence) getString((String) values[i]));
132-
SQLString = new StringBuilder(aux);
133-
i++;
134-
}
128+
public void execute() {
129+
SQLiteDatabase write = helperBD.getWritableDatabase();
135130
SQLString.append(";");
136-
137131
write.execSQL(SQLString.toString());
138132
}
139133
}

0 commit comments

Comments
 (0)