Zelf heb ik altijd SQL statements gehardcode. Sinds kort werk ik met parameterized queries waardoor ik queries netter en veiliger (tegen SQL injection) kan formuleren, bijv:
Echter aangezien ik nu een soort query template heb en geen strings meer hoef te concatten voor een query zou ik het SQL statement tbv overzichtelijkheid en onderhoudbaarheid ook ergens buiten de code kunnen opslaan. Nu zat ik te denken aan een Resource file, als volgt:
Maar er zijn misschien wel betere methoden. Daarom zou ik eens willen weten hoe jullie dit aanpakken (Stored Procedures dan even buiten beschouwing gelaten)
code:
1
2
3
4
5
6
7
8
9
10
11
12
| SQL = "INSERT INTO MyTable (ID,CurrencyField,TextField,BooleanField,DateTimeField,MemoField)" SQL = SQL & " VALUES (@id,@cf,@tf,@bf,@dtf,@mf)" dbObject.SqlQuery = SQL ' Defineer parameters dbObject.AddParameter "@id", adBigInt, txtID dbObject.AddParameter "@cf", adCurrency, txtCurrency dbObject.AddParameter "@tf", adBSTR, txtText dbObject.AddParameter "@bf", adBoolean, chkBoolean dbObject.AddParameter "@dtf", adDate, txtDate dbObject.AddParameter "@mf", adBSTR, txtMemo dbObject.Execute |
Echter aangezien ik nu een soort query template heb en geen strings meer hoef te concatten voor een query zou ik het SQL statement tbv overzichtelijkheid en onderhoudbaarheid ook ergens buiten de code kunnen opslaan. Nu zat ik te denken aan een Resource file, als volgt:
code:
1
2
3
4
5
6
| Stringtable
Begin
1001, "INSERT INTO MyTable
(ID,CurrencyField,TextField,BooleanField,DateTimeField,MemoField)
VALUES (@id,@cf,@tf,@bf,@dtf,@mf)"
end |
Maar er zijn misschien wel betere methoden. Daarom zou ik eens willen weten hoe jullie dit aanpakken (Stored Procedures dan even buiten beschouwing gelaten)
It’s nice to be important but it’s more important to be nice