Corrected Time and Date types handling in SQL Server.
This commit is contained in:
@@ -4,6 +4,7 @@ using System.Data;
|
||||
using System.Linq;
|
||||
using DynamORM;
|
||||
using DynamORM.Helpers;
|
||||
using DynamORM.Mapper;
|
||||
|
||||
namespace Tester
|
||||
{
|
||||
@@ -12,7 +13,7 @@ namespace Tester
|
||||
private static DynamicDatabase GetORM()
|
||||
{
|
||||
return new DynamicDatabase(System.Data.SqlClient.SqlClientFactory.Instance,
|
||||
"packet size=4096;User Id=sa;Password=;data source=192.168.22.;initial catalog=PLAYGROUND;",
|
||||
"packet size=4096;User Id=sa;Password=sWe7PepR;data source=192.168.22.10;initial catalog=PLAYGROUND;",
|
||||
DynamicDatabaseOptions.SingleConnection | DynamicDatabaseOptions.SingleTransaction | DynamicDatabaseOptions.SupportSchema |
|
||||
DynamicDatabaseOptions.SupportStoredProcedures | DynamicDatabaseOptions.SupportTop | DynamicDatabaseOptions.DumpCommands);
|
||||
|
||||
@@ -25,41 +26,89 @@ namespace Tester
|
||||
|
||||
private static void Main(string[] args)
|
||||
{
|
||||
//var c = new System.Data.SqlClient.SqlConnection("packet size=4096;User Id=sa;Password=sa123;data source=192.168.0.6;initial catalog=DynamORM;");
|
||||
|
||||
using (var db = GetORM())
|
||||
{
|
||||
db.Execute(@"CREATE OR ALTER PROCEDURE sp_Exp_Scalar AS SELECT 42;");
|
||||
var res0 = db.Procedures.sp_Exp_Scalar();
|
||||
var res1 = db.Procedures.sp_Exp_Scalar<int>();
|
||||
//ProcedureHell(db);
|
||||
|
||||
db.Execute(@"CREATE OR ALTER PROCEDURE sp_Exp_ReturnInt AS RETURN 42;");
|
||||
var res2 = db.Procedures.sp_Exp_ReturnInt();
|
||||
TableFun(db);
|
||||
}
|
||||
}
|
||||
|
||||
db.Execute(@"CREATE OR ALTER PROCEDURE sp_Exp_SomeData AS
|
||||
private static void TableFun(DynamicDatabase db)
|
||||
{
|
||||
try
|
||||
{
|
||||
db.Execute("DROP TABLE Experiments ");
|
||||
}
|
||||
catch { }
|
||||
|
||||
db.Execute(@"CREATE TABLE Experiments (
|
||||
id int NOT NULL PRIMARY KEY,
|
||||
t1 nvarchar(50) NOT NULL DEFAULT N'',
|
||||
t2 varchar(50) NOT NULL DEFAULT '',
|
||||
dd date,
|
||||
tt time);");
|
||||
|
||||
db.Insert<Ex>().Insert(new Ex
|
||||
{
|
||||
id = 1,
|
||||
t1 = "T1",
|
||||
t2 = "T1",
|
||||
dd = DateTime.Now,
|
||||
tt = TimeSpan.FromDays(2) + TimeSpan.FromHours(10),
|
||||
}).Execute();
|
||||
|
||||
var tt = db.From<Ex>().Where(x => x.id == 1).ToList<Ex>().FirstOrDefault();
|
||||
|
||||
db.Update<Ex>().Where(x => x.id == 1).Set(x => x.tt = TimeSpan.FromMinutes(10), x => x.dd = DateTime.Now.AddDays(2)).Execute();
|
||||
|
||||
db.Execute("DROP TABLE Experiments ");
|
||||
}
|
||||
|
||||
[Table(Name = "Experiments")]
|
||||
private class Ex
|
||||
{
|
||||
public int id { get; set; }
|
||||
public string t1 { get; set; }
|
||||
public string t2 { get; set; }
|
||||
public DateTime dd { get; set; }
|
||||
public TimeSpan tt { get; set; }
|
||||
}
|
||||
|
||||
private static void ProcedureHell(DynamicDatabase db)
|
||||
{
|
||||
db.Execute(@"CREATE OR ALTER PROCEDURE sp_Exp_Scalar AS SELECT 42;");
|
||||
var res0 = db.Procedures.sp_Exp_Scalar();
|
||||
var res1 = db.Procedures.sp_Exp_Scalar<int>();
|
||||
|
||||
db.Execute(@"CREATE OR ALTER PROCEDURE sp_Exp_ReturnInt AS RETURN 42;");
|
||||
var res2 = db.Procedures.sp_Exp_ReturnInt();
|
||||
|
||||
db.Execute(@"CREATE OR ALTER PROCEDURE sp_Exp_SomeData AS
|
||||
SELECT 1 Id, 'Some Name 1' [Name], 'Some Desc 1' [Desc], GETDATE() [Date]
|
||||
UNION ALL SELECT 2 Id, 'Some Name 2', 'Some Desc 2', GETDATE() [Date];");
|
||||
var res3 = db.Procedures.sp_Exp_SomeData<sp_Exp_SomeData_Result>();
|
||||
var res4 = db.Procedures.sp_Exp_SomeData<List<sp_Exp_SomeData_Result>>();
|
||||
var res3 = db.Procedures.sp_Exp_SomeData<sp_Exp_SomeData_Result>();
|
||||
var res4 = db.Procedures.sp_Exp_SomeData<List<sp_Exp_SomeData_Result>>();
|
||||
|
||||
db.Execute(@"CREATE OR ALTER PROCEDURE sp_Exp_SomeInputAndOutput
|
||||
db.Execute(@"CREATE OR ALTER PROCEDURE sp_Exp_SomeInputAndOutput
|
||||
@Name nvarchar(50),
|
||||
@Result nvarchar(256) OUTPUT
|
||||
AS
|
||||
SELECT @Result = 'Hi, ' + @Name + ' your lucky number is 42!';");
|
||||
var res5 = db.Procedures.sp_Exp_SomeInputAndOutput<string, sp_Exp_SomeInputAndOutput_Result>(Name: "G4g4r1n", out_Result: new DynamicColumn
|
||||
{
|
||||
Schema = new DynamicSchemaColumn
|
||||
{
|
||||
Size = 256,
|
||||
},
|
||||
}, ret_Return: 0);
|
||||
var res6 = db.Procedures.sp_Exp_SomeInputAndOutput<string, sp_Exp_SomeInputAndOutput_Result>(Name: "G4g4r1n", out_Result: new DynamicSchemaColumn
|
||||
var res5 = db.Procedures.sp_Exp_SomeInputAndOutput<string, sp_Exp_SomeInputAndOutput_Result>(Name: "G4g4r1n", out_Result: new DynamicColumn
|
||||
{
|
||||
Schema = new DynamicSchemaColumn
|
||||
{
|
||||
Size = 256,
|
||||
}, ret_Return: 0);
|
||||
},
|
||||
}, ret_Return: 0);
|
||||
var res6 = db.Procedures.sp_Exp_SomeInputAndOutput<string, sp_Exp_SomeInputAndOutput_Result>(Name: "G4g4r1n", out_Result: new DynamicSchemaColumn
|
||||
{
|
||||
Size = 256,
|
||||
}, ret_Return: 0);
|
||||
|
||||
db.Execute(@"CREATE OR ALTER PROCEDURE sp_Exp_SomeInputAndOutputWithDataAndReturn
|
||||
db.Execute(@"CREATE OR ALTER PROCEDURE sp_Exp_SomeInputAndOutputWithDataAndReturn
|
||||
@Name nvarchar(50),
|
||||
@Result nvarchar(256) OUTPUT
|
||||
AS
|
||||
@@ -69,52 +118,17 @@ SELECT 1 Id, 'Some Name 1' [Name], 'Some Desc 1' [Desc], GETDATE() [Date]
|
||||
UNION ALL SELECT 2 Id, 'Some Name 2', 'Some Desc 2', GETDATE() [Date]
|
||||
|
||||
RETURN 42;");
|
||||
var res7 = db.Procedures.sp_Exp_SomeInputAndOutputWithDataAndReturn<List<sp_Exp_SomeInputAndOutputWithDataAndReturn_Result.Data>, sp_Exp_SomeInputAndOutputWithDataAndReturn_Result>(Name: "G4g4r1n", out_Result: new DynamicColumn
|
||||
{
|
||||
Schema = new DynamicSchemaColumn
|
||||
{
|
||||
Size = 256,
|
||||
},
|
||||
}, ret_Return: 0);
|
||||
var res8 = db.Procedures.sp_Exp_SomeInputAndOutputWithDataAndReturn<List<sp_Exp_SomeInputAndOutputWithDataAndReturn_Result.Data>, sp_Exp_SomeInputAndOutputWithDataAndReturn_Result>(Name: "G4g4r1n", out_Result: new DynamicSchemaColumn
|
||||
var res7 = db.Procedures.sp_Exp_SomeInputAndOutputWithDataAndReturn<List<sp_Exp_SomeInputAndOutputWithDataAndReturn_Result.Data>, sp_Exp_SomeInputAndOutputWithDataAndReturn_Result>(Name: "G4g4r1n", out_Result: new DynamicColumn
|
||||
{
|
||||
Schema = new DynamicSchemaColumn
|
||||
{
|
||||
Size = 256,
|
||||
}, ret_Return: 0);
|
||||
|
||||
//try
|
||||
//{
|
||||
// db.Execute("DROP TABLE Experiments ");
|
||||
//}
|
||||
//catch { }
|
||||
|
||||
//db.Execute("CREATE TABLE Experiments (t1 nvarchar(50) NOT NULL DEFAULT N'', t2 varchar(50) NOT NULL DEFAULT '');");
|
||||
|
||||
//var q = db.From(x => x.Experiments.As(x.e1));
|
||||
//q
|
||||
// .Where(x => x.t2 = "Dupa")
|
||||
// .Where(x => x.Exists(
|
||||
// q.SubQuery()
|
||||
// .From(y => y.Experiments.As(x.e2))
|
||||
// .Where(y => y.e2.t1 == y.e1.t1)))
|
||||
// .Execute().ToList();
|
||||
|
||||
//db.Execute("DROP TABLE Experiments ");
|
||||
|
||||
//IDataReader rdr = db.Procedures.sp_getdate<IDataReader>();
|
||||
//var dt = rdr.ToDataTable();
|
||||
//var dt2 = db.Procedures.sp_getdate<DataTable>();
|
||||
|
||||
//db.Procedures.usp_API_Generate_Doc_Number<string>(key: Guid.NewGuid(), mdn_id: "ZZ");
|
||||
|
||||
//var resL = (db.Procedures.GetProductDesc<IList<GetProductDesc_Result>>() as IEnumerable<dynamic>)
|
||||
// .Cast<GetProductDesc_Result>()
|
||||
// .ToArray();
|
||||
//var res = db.Procedures.GetProductDesc_withparameters<GetProductDesc_Result>(PID: 707);
|
||||
//res = db.Procedures.GetProductDesc_withDefaultparameters<GetProductDesc_Result>();
|
||||
|
||||
//int id = -1;
|
||||
//var resD = db.Procedures.ins_NewEmp_with_outputparamaters(Ename: "Test2", out_EId: id);
|
||||
}
|
||||
},
|
||||
}, ret_Return: 0);
|
||||
var res8 = db.Procedures.sp_Exp_SomeInputAndOutputWithDataAndReturn<List<sp_Exp_SomeInputAndOutputWithDataAndReturn_Result.Data>, sp_Exp_SomeInputAndOutputWithDataAndReturn_Result>(Name: "G4g4r1n", out_Result: new DynamicSchemaColumn
|
||||
{
|
||||
Size = 256,
|
||||
}, ret_Return: 0);
|
||||
}
|
||||
|
||||
private class sp_Exp_SomeData_Result
|
||||
|
||||
Reference in New Issue
Block a user