Hej!
Har lite funderingar angående hur man vanligtvis hanterar SQL-förfrågningar i till exempel C# .NET. Jag har skrivit ett antal program som använder SQLite på senare tid, riktigt fint för mindre program för övrigt. Det jag kommit fram till är att det är inte speciellt snyggt att blanda SQL frågor med vanlig kod. Typ,
string sqlStatement = "SELECT age FROM people WHERE age > ?";
database.Query(sqlStatement);
Det blir rörigt att "blanda språk", mycket strängar som är snarlika överallt.
En annan lösning jag har sett är en QueryBuilder i någon form. Något sådant känns väl som ett alternativ. Man skulle kunna tänka sig något man kan använda så här,
string sqlStatement = queryBuilder.SelectColumns("age").FromTable("people").Where("age", Comparison.GreaterThan, "?").GetQuery();
Men jag vet inte om det tar bort problemet egentligen och det lägger till massa extra logik som måste köras när man ska bygga en sql-fråga, och dessutom mer kod. Det positiva är väl att det är relativt lätt att anpassa till olika databassystem.
Det jag använder mig av just nu är bara strängar i projektets resurser som man kommer åt med Resources.SqlString. Jag vet inte riktigt vad jag är ute efter med frågan, jag är nog mest nyfiken på hur ni andra gör. Är undansparade strängar ändå ofta det bästa sättet?