EonaCat.Sql
1.0.8
Prefix Reserved
dotnet add package EonaCat.Sql --version 1.0.8
NuGet\Install-Package EonaCat.Sql -Version 1.0.8
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.8" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add EonaCat.Sql --version 1.0.8
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: EonaCat.Sql, 1.0.8"
#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.8 // Install EonaCat.Sql as a Cake Tool #tool nuget:?package=EonaCat.Sql&version=1.0.8
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 | 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 is compatible. 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 is compatible. 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. net9.0 is compatible. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
net6.0
- EonaCat.Helpers (>= 1.0.7)
- EonaCat.Json (>= 1.0.6)
- Microsoft.AspNetCore.Http.Abstractions (>= 2.2.0)
- Microsoft.Data.SqlClient (>= 5.2.2)
- Microsoft.Data.Sqlite.Core (>= 9.0.0)
- MySqlConnector (>= 2.4.0)
- Npgsql (>= 9.0.1)
- SQLitePCLRaw.bundle_e_sqlite3 (>= 2.1.10)
- SQLitePCLRaw.core (>= 2.1.10)
-
net7.0
- EonaCat.Helpers (>= 1.0.7)
- EonaCat.Json (>= 1.0.6)
- Microsoft.AspNetCore.Http.Abstractions (>= 2.2.0)
- Microsoft.Data.SqlClient (>= 5.2.2)
- Microsoft.Data.Sqlite.Core (>= 9.0.0)
- MySqlConnector (>= 2.4.0)
- Npgsql (>= 9.0.1)
- SQLitePCLRaw.bundle_e_sqlite3 (>= 2.1.10)
- SQLitePCLRaw.core (>= 2.1.10)
-
net8.0
- EonaCat.Helpers (>= 1.0.7)
- EonaCat.Json (>= 1.0.6)
- Microsoft.AspNetCore.Http.Abstractions (>= 2.2.0)
- Microsoft.AspNetCore.WebUtilities (>= 8.0.11)
- Microsoft.Data.SqlClient (>= 5.2.2)
- Microsoft.Data.Sqlite.Core (>= 9.0.0)
- MySqlConnector (>= 2.4.0)
- Npgsql (>= 9.0.1)
- SQLitePCLRaw.bundle_e_sqlite3 (>= 2.1.10)
- SQLitePCLRaw.core (>= 2.1.10)
-
net9.0
- EonaCat.Helpers (>= 1.0.7)
- EonaCat.Json (>= 1.0.6)
- Microsoft.AspNetCore.Http.Abstractions (>= 2.2.0)
- Microsoft.Data.SqlClient (>= 5.2.2)
- Microsoft.Data.Sqlite.Core (>= 9.0.0)
- MySqlConnector (>= 2.4.0)
- Npgsql (>= 9.0.1)
- SQLitePCLRaw.bundle_e_sqlite3 (>= 2.1.10)
- SQLitePCLRaw.core (>= 2.1.10)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.