SQLiteDBAccess 1.0.6
dotnet add package SQLiteDBAccess --version 1.0.6
NuGet\Install-Package SQLiteDBAccess -Version 1.0.6
<PackageReference Include="SQLiteDBAccess" Version="1.0.6" />
paket add SQLiteDBAccess --version 1.0.6
#r "nuget: SQLiteDBAccess, 1.0.6"
// Install SQLiteDBAccess as a Cake Addin #addin nuget:?package=SQLiteDBAccess&version=1.0.6 // Install SQLiteDBAccess as a Cake Tool #tool nuget:?package=SQLiteDBAccess&version=1.0.6
SQLiteDBAccess
This is a lightweight sqlite access library. It allows you to easily create and access multiple different sqlite db files.
simply add/create a database via SQLiteDBAccess.Instance()
This will check if there already is an instance for that file and ether create the file and return a new instance or get the already existing instance.
You can also pass a bool as 3rd attribute (default true
) it determines if the file should be managed automatically or manually.
If set to true
the file will be opened and closed on every call.
If that is to expensive for you you can pass false
and open/close the file manually via OpenDBFile()
and CloseDBFile()
.
Attention
If a method in SQLiteDBAccess is used that returns an SQLDataReader the connection will not be closed even if file management is enabled.
Meaning you will have to manually free the file with CloseDBFile(yourReader)
.
yourReader
being the SQLiteDataReader that you have used.
This is necessary because the connection needs to be active to use the reader.
You can also run any sqlite command via CustomCommand
or CustomCommandWithReturn
if you want to return value(s).
examples:
Create/Add Database
var dbAccess = SQLiteDBAccess.SQLiteDBAccess.Instance("mydb", "/home/teddy"); // on windows path would be "C:/Users/teddy"
Note:
Depending on if your file system is case sensitive creating a Database with the name mydb
and Mydb
will ether be the same (on non-case sensitive) or different (on case sensitive) instances and files.
Create Table
dbAccess.CreateTable("MyTable", "Id INTEGER PRIMARY KEY, MyText TEXT, MyNumber INTEGER");
Insert Into Table
var myNewText = "'hello world'";
var myNewNumber = 1337;
dbAccess.Insert("MyTable", "MyText, MyNumber", $"{myNewText}, {myNewNumber}");
Note:
You will need to add '' around items which contain spaces e.g. 'hello world'
.
Read Single Row From Table By Attribute
var reader = dbAccess.GetByAttribute("MyTable", "Id", "1");
if (reader.Read())
{
Console.WriteLine($"{reader.GetName(0)}: {reader.GetInt64(0)}\n{reader.GetName(1)}: {reader.GetString(1)}\n{reader.GetName(2)}: {reader.GetInt64(2)}");
}
dbAccess.CloseDBFile(reader);
Note: GetByAttribute() can return multiple rows. In this example a primary key is used and result.Read() is only executed once. Any one of those factors will result in a single row being returned.
Read All Rows From Table
var reader = dbAccess.GetAll("MyTable");
while (reader.Read())
{
Console.WriteLine($"{reader.GetName(0)}: {reader.GetInt64(0)}\n{reader.GetName(1)}: {reader.GetString(1)}\n{reader.GetName(2)}: {reader.GetInt64(2)}");
}
dbAccess.CloseDBFile(reader);
Note:
- This Nuget Package is geared more towards smaller projects and will result in a multitude of issues if used in a bigger project.
- This Nuget Package should not and was not created to be used with unsanitized user input.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
.NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- MethodDecorator.Fody (>= 1.1.1)
- Stub.System.Data.SQLite.Core.NetStandard (>= 1.0.117)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
refactoring and typo fixes