EonaCat.Sql
1.0.1
.NET 5.0
.NET Standard 2.0
dotnet add package EonaCat.Sql --version 1.0.1
NuGet\Install-Package EonaCat.Sql -Version 1.0.1
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="EonaCat.Sql" Version="1.0.1" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add EonaCat.Sql --version 1.0.1
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: EonaCat.Sql, 1.0.1"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install EonaCat.Sql as a Cake Addin
#addin nuget:?package=EonaCat.Sql&version=1.0.1
// Install EonaCat.Sql as a Cake Tool
#tool nuget:?package=EonaCat.Sql&version=1.0.1
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
EonaCat.Sql
EonaCat Sql Builder and prevention library
Create SqlBuilder
SqlHelper.GetBuilder();
Check if the string is safe for web (Sql and Javascript)
// Without errors returned
SqlHelper.IsWebSafe(string input);
// With errors returned
SqlHelper.IsWebSafe(string input, out string errors);
// Only check for Sql injection
SqlHelper.HasSqlInjection(string input, out string errors);
// Only check for Javascript injection
SqlHelper.HasJsInjection(string input, out string errors);
You can also use it as a stringExtension:
if (!input.IsWebSafe())
{
Console.WriteLine("String is NOT webSafe!");
}
if (input.HasSqlInjection(out string errors))
{
Console.WriteLine($"String has Sql injections! {Environment.NewLine} {errors}");
}
if (input.HasJsInjection(out string errors))
{
Console.WriteLine($"String has Javascript injections! {Environment.NewLine} {errors}");
}
Deadlock Retry Helper:
SqlHelper.DeadlockRetryHelper(Action action, int maxRetries = 3);
You can also use it as an actionExtension:
myMethodAction.DeadlockRetryHelper(3);
Execute SQL query directly parameterized:
private static async void TestsqlServer()
{
var customerId = "AROUT";
var result = SqlHelper.ExecuteQuery(
new Microsoft.Data.SqlClient.SqlConnection(@"Server=localhost;Database=NorthWind;User Id=sa;Password=jeroen;TrustServerCertificate=Yes;"),
$"SELECT * FROM Customers WHERE CustomerID = @CustomerId AND Country = @Country",
new Dictionary<string, object>
{
{ "CustomerId", customerId },
{ "Country", "UK" },
}
);
if (result.HasResult && result.HasRows)
{
Console.WriteLine($"Found '{result.TotalRows}' " + ((result.TotalRows > 1) ? "rows" : "row"));
Console.WriteLine(string.Empty);
foreach (var record in result.DataSet)
{
Console.WriteLine(record.CustomerID);
Console.WriteLine(record.ContactTitle);
}
}
else
{
if (!result.HasResult)
{
Console.WriteLine("No valid result!");
}
if (!result.HasRows)
{
Console.WriteLine("No rows found");
}
if (result.HasException)
{
Console.WriteLine(result.Exception);
}
}
Console.ReadLine();
}
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 is compatible. net5.0-windows was computed. net6.0 is compatible. 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. |
.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 is compatible. |
.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. |
Compatible target framework(s)
Additional computed target framework(s)
Learn more about Target Frameworks and .NET Standard.
-
.NETStandard 2.0
- EonaCat.Helpers (>= 1.0.0)
- Microsoft.Data.SqlClient (>= 4.1.0)
- Microsoft.Data.Sqlite.Core (>= 6.0.7)
- MySqlConnector (>= 2.1.11)
- Npgsql (>= 6.0.5)
- SQLitePCLRaw.bundle_e_sqlite3 (>= 2.1.0)
- SQLitePCLRaw.core (>= 2.1.0)
-
.NETStandard 2.1
- EonaCat.Helpers (>= 1.0.0)
- Microsoft.Data.SqlClient (>= 4.1.0)
- Microsoft.Data.Sqlite.Core (>= 6.0.7)
- MySqlConnector (>= 2.1.11)
- Npgsql (>= 6.0.5)
- SQLitePCLRaw.bundle_e_sqlite3 (>= 2.1.0)
- SQLitePCLRaw.core (>= 2.1.0)
-
net5.0
- EonaCat.Helpers (>= 1.0.0)
- Microsoft.Data.SqlClient (>= 4.1.0)
- Microsoft.Data.Sqlite.Core (>= 6.0.7)
- MySqlConnector (>= 2.1.11)
- Npgsql (>= 6.0.5)
- SQLitePCLRaw.bundle_e_sqlite3 (>= 2.1.0)
- SQLitePCLRaw.core (>= 2.1.0)
-
net6.0
- EonaCat.Helpers (>= 1.0.0)
- Microsoft.Data.SqlClient (>= 4.1.0)
- Microsoft.Data.Sqlite.Core (>= 6.0.7)
- MySqlConnector (>= 2.1.11)
- Npgsql (>= 6.0.5)
- SQLitePCLRaw.bundle_e_sqlite3 (>= 2.1.0)
- SQLitePCLRaw.core (>= 2.1.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
1.0.1 | 754 | 9/21/2022 |