From 78bfdede4f68c46dd23716f6f484df99bcdbc6af Mon Sep 17 00:00:00 2001 From: Andrea Cattaneo Date: Mon, 12 Sep 2022 13:27:54 -0700 Subject: [PATCH] SqlDb doc --- ACUtils.SqlDb/README.md | 87 +++++++++++++++++++++++++++++++++++++++++ ACUtils.SqlDb/SqlDb.cs | 8 ++-- 2 files changed, 91 insertions(+), 4 deletions(-) create mode 100644 ACUtils.SqlDb/README.md diff --git a/ACUtils.SqlDb/README.md b/ACUtils.SqlDb/README.md new file mode 100644 index 0000000..3d62dea --- /dev/null +++ b/ACUtils.SqlDb/README.md @@ -0,0 +1,87 @@ +# ACUtils.SqlDb + +## Example usage + + +### QueryDataSet + +```csharp +using System.Data; +using ACUtils; + +ACUtils.SqlDb db = new ACUtils.SqlDb("Data Source=(local);Initial Catalog=master;Integrated Security=SSPI;"); + +System.Data.DataSet ds = db.QueryDataSet( + "SELECT myvalue FROM table WHERE col = @col AND id > @id", + "@col".WithValue("my val"), + "@id".WithValue(123) +); +Console.WriteLine(ds.Tables[0].Rows[0].Field("myvalue")); +``` + + +### QueryDataTable + +```csharp +using System.Data; +using ACUtils; + +ACUtils.SqlDb db = new ACUtils.SqlDb("Data Source=(local);Initial Catalog=master;Integrated Security=SSPI;"); + +System.Data.DataTable dt = db.QueryDataTable("SELECT myvalue FROM table WHERE col = @col", "@col".WithValue("my val")); +Console.WriteLine(dt.Rows[0].Field("myvalue")); + +``` + + +### QuerySingleValue + +```csharp +using ACUtils; + +ACUtils.SqlDb db = new ACUtils.SqlDb("Data Source=(local);Initial Catalog=master;Integrated Security=SSPI;"); + +string myvalue = db.QuerySingleValue("SELECT myvalue FROM table WHERE id = @id", "@id".WithValue("123")); +Console.WriteLine(myvalue); +``` + + +### QueryMany + +```csharp +using ACUtils; + +class MyModel : ACUtils.DBModel +{ + public int id { get; set; } + public string myvalue { get; set; } +} + +ACUtils.SqlDb db = new ACUtils.SqlDb("Data Source=(local);Initial Catalog=master;Integrated Security=SSPI;"); +System.Collections.Generic.List models = db.QueryMany("select id, myvalue FROM table WHERE id > @id", "@id".WithValue(1)); +foreach(MyModel model in models) +{ + // ... +} +``` + + +### QueryManyAsync + +```csharp +using ACUtils; + +class MyModel : ACUtils.DBModel +{ + public int id { get; set; } + public string myvalue { get; set; } +} + +ACUtils.SqlDb db = new ACUtils.SqlDb("Data Source=(local);Initial Catalog=master;Integrated Security=SSPI;"); +System.Collections.Generic.IAsyncEnumerable models = db.QueryManyAsync("select id, myvalue FROM table WHERE id > @id", "@id".WithValue(1)); +await foreach (MyModel model in models) +{ + // ... +} +``` + diff --git a/ACUtils.SqlDb/SqlDb.cs b/ACUtils.SqlDb/SqlDb.cs index d145f35..0a57f2f 100644 --- a/ACUtils.SqlDb/SqlDb.cs +++ b/ACUtils.SqlDb/SqlDb.cs @@ -54,7 +54,7 @@ public SqlDb(string connectionString) #region QueryDataTable /// - /// Eseque la query e restituisce il DataTable del risultato + /// Esegue la query e restituisce il DataTable del risultato /// /// /// db.QueryDataTable("SELECT * FROM A WHERE B = @B", "@B".WithValue("1")); @@ -537,10 +537,10 @@ public static bool Execute(SqlConnection connection, string queryString) #endregion - public static T GetColVal(DataRow dataRow, string columName) + public static T GetColVal(DataRow dataRow, string columnName) { - // dataRow.Field(columName) - object val = dataRow[columName]; + // dataRow.Field(columnName) + object val = dataRow[columnName]; switch (val.GetType().Name) { case "DBNull":