public void EmptyQuery() { var db = new Energy.Source.Connection(); string error; object result; int number; DataTable table; Energy.Base.Table fetch; result = db.Scalar(null, out error); Assert.AreEqual("Empty query", error); Assert.IsNull(result); result = db.Scalar("", out error); Assert.AreEqual("Empty query", error); Assert.IsNull(result); number = db.Scalar <int>(null, out error); Assert.AreEqual("Empty query", error); Assert.AreEqual(0, number); number = db.Execute(null, out error); Assert.AreEqual("Empty query", error); Assert.AreEqual(-2, number); table = db.Read(null, out error); Assert.AreEqual("Empty query", error); Assert.IsNull(table); fetch = db.Fetch(null, out error); Assert.AreEqual("Empty query", error); Assert.IsNull(fetch); table = db.Load(null, out error); Assert.AreEqual("Empty query", error); Assert.IsNull(table); }
static void Main(string[] args) { Energy.Source.Connection <Npgsql.NpgsqlConnection> c = new Energy.Source.Connection <Npgsql.NpgsqlConnection>(); //c.Configuration.Dialect ="ansi" c.ConnectionString = @"Server=127.0.0.1;Port=5432;Database=trace;User Id=test;Password=test;"; Console.WriteLine(Energy.Base.Cast.BoolToString(c.Open(), Energy.Enumeration.BooleanStyle.YesNo)); var x = c.Fetch(@"SELECT * FROM ""Trace"".""Registration"""); Console.WriteLine(x.ToString()); }
private static void Go(string[] args) { string connectionString = @"Data Source=.\SQLEXPRESS;Initial Catalog=platoon;Integrated Security=Yes;Connect Timeout=10;"; connectionString = @"Data Source=10.0.2.2;Initial Catalog=platoon;Integrated Security=No;User Id=platoon;Password=platoon;Connect Timeout=10;"; //connectionString = @"Data Source=W101-SQL01;Initial Catalog=BisSQL;Integrated Security=False;User ID=bissqluser;Password=B1sSqLP@ssW0rd;MultipleActiveResultSets=True;Connect Timeout=10"; //connectionString = @"Data Source=W103-FS02;Initial Catalog=BisSQLTest;Integrated Security=False;User ID=SZCbistestuser;Password=f4c!S7CzeCInSQLT3st!;MultipleActiveResultSets=True;Connect Timeout=30"; db = new Energy.Source.Connection <SqlConnection>(connectionString); Console.WriteLine(db.Scalar("SELECT GETDATE()")); Test1(); Test2(); }
internal static void GetDate() { string connStr = "Data Source=.\\SQLEXPRESS;Initial Catalog=master;Integrated Security=Yes;Connect Timeout=10;"; connStr = Energy.Core.Tilde.Ask("Connection string", connStr); Energy.Source.Connection <SqlConnection> source = new Energy.Source.Connection <SqlConnection>(connectionString: connStr); source.Persistent = false; int num1 = Energy.Core.Benchmark.Loop(() => { string result = source.Scalar <string>("SELECT GETDATE()"); }, 1); source.Persistent = true; int num2 = Energy.Core.Benchmark.Loop(() => { string result = source.Scalar <string>("SELECT GETDATE()"); }, 1); Console.WriteLine($"Dynamic {num1} Persistent {num2}"); }
public static void Work(object parameter) { Tuple <int, Energy.Source.Connection> data = (Tuple <int, Energy.Source.Connection>)parameter; int number = data.Item1; Energy.Source.Connection connection = data.Item2; for (int i = 0; i < 3; i++) { Console.WriteLine("Thread:Iteration {0}:{1} {2}" , number + 1 , i + 1 , connection.Scalar <string>("DO SLEEP(1); SELECT CURRENT_TIMESTAMP()") ); } }
internal static Energy.Source.Connection ConnectToMemoryDatabase() { Energy.Source.Connection db = null; string connectionString = @"Data Source=:memory:;Version=3;New=True;"; db = new Energy.Source.Connection <System.Data.SQLite.SQLiteConnection>(connectionString); // needed for :memory: !!! //db.Pooling = false; if (db.Bool("select current_timestamp;")) { Console.WriteLine("Connection to " + connectionString + " open"); } else { Console.WriteLine("Connection error " + db.ErrorStatus); // Dispose() will invoke Close() db.Dispose(); db = null; } return(db); }
private static void Test1(string[] args) { string connectionString = @"Data Source=:memory:;Version=3;New=True;"; db = new Energy.Source.Connection <System.Data.SQLite.SQLiteConnection>(connectionString); db.Persistent = true; // needed for :memory: !!! Console.WriteLine(db.Scalar("select current_timestamp;")); Console.WriteLine(db.Scalar("select time(time(), 'localtime');")); Console.WriteLine(db.Scalar("SELECT (STRFTIME('%Y-%m-%d %H:%M:%f', 'NOW'))")); Energy.Interface.IDialect dialect = new Energy.Query.Dialect.SQLITE(); Energy.Interface.IDialect script = new Energy.Query.Dialect.SQLITE(); string query; query = "select " + dialect.Format.CurrentStamp; Console.WriteLine(query); Console.WriteLine(db.Scalar(query)); Energy.Source.Structure.Table table; table = Energy.Source.Structure.Table.Create(typeof(UserTableRecord)); query = dialect.CreateTable(table); Console.WriteLine(query); if (db.Execute(query) < 0) { Console.WriteLine(db.ErrorMessage); } query = "INSERT INTO " + script.Format.Object("UserTable") + " ( Name , Phone ) VALUES ( 'List' , 1234 )"; Console.WriteLine(query); if (db.Execute(query) < 0) { Console.WriteLine(db.ErrorMessage); } query = "INSERT INTO " + script.Format.Object("UserTable") + " ( Name , Phone ) VALUES ( 'Element numer 1' , 4143141414 )"; Console.WriteLine(query); if (db.Execute(query) < 0) { Console.WriteLine(db.ErrorMessage); } query = "INSERT INTO " + script.Format.Object("UserTable") + " ( Name ) VALUES ( 'Po prostu element' )"; Console.WriteLine(query); if (db.Execute(query) < 0) { Console.WriteLine(db.ErrorMessage); } if (db.Execute(query) < 0) { Console.WriteLine(db.ErrorMessage); } if (db.Execute(query) < 0) { Console.WriteLine(db.ErrorMessage); } if (db.Execute(query) < 0) { Console.WriteLine(db.ErrorMessage); } query = "INSERT INTO " + script.Format.Object("UserTable") + " ( Name , Description ) VALUES ( '===' , 'ĄćęłńóśćżŹ' )"; Console.WriteLine(query); if (db.Execute(query) < 0) { Console.WriteLine(db.ErrorMessage); } query = "SELECT * FROM " + script.Format.Object("UserTable"); Console.WriteLine(query); DataTable dx1 = db.Load(query); string text = Energy.Base.Plain.DataTableToPlainText(dx1, new Energy.Base.Plain.TableFormat.FullFrame() { Tilde = true }); Energy.Core.Tilde.WriteLine(text); if (db.Execute(query) < 0) { Console.WriteLine(db.ErrorMessage); } var tbl = db.Fetch(query); foreach (var rec in tbl) { Console.WriteLine(rec.ToString(": ")); } Console.WriteLine(query); }
static void Main(string[] args) { Energy.Core.Tilde.WriteLine("~y~MySQL ~w~connection example"); Energy.Core.Log.Default.Destination.Add(new Energy.Core.Log.Target.Console()); Energy.Source.Connection <MySql.Data.MySqlClient.MySqlConnection> db; db = new Energy.Source.Connection <MySql.Data.MySqlClient.MySqlConnection>(); db.ConnectionString = @"Server=127.0.0.1;Database=test;Uid=test;Pwd=test;"; db.OnCreate += Db_OnCreate; db.OnClose += Db_OnClose; string query = "SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST"; //Console.WriteLine(db.Read)) Console.WriteLine(db.Fetch(query).ToPlain()); Energy.Core.Tilde.WriteLine("~c~Using 3 threads to retreive current timestamp 3 times with delay of 1 second each"); Energy.Core.Tilde.WriteLine("~y~Starting in persistent mode (one connection only)"); db.Persistent = true; for (int i = 0; i < 3; i++) { Thread thread = new Thread(Work); thread.Start(new Tuple <int, Energy.Source.Connection>(i, db)); } Energy.Core.Tilde.Pause(); Energy.Core.Tilde.WriteLine("~y~Now in not persistent mode (opening new connection per each statement)"); db.Persistent = false; for (int i = 0; i < 3; i++) { Thread thread = new Thread(Work); thread.Start(new Tuple <int, Energy.Source.Connection>(i, db)); } Energy.Core.Tilde.Pause(); db.ConnectionString = @"Server=127.0.0.1;Database=platoon;Uid=platoon;Pwd=platoon;"; db.Open(); Console.WriteLine(db.Scalar("SELECT CURRENT_TIMESTAMP()")); Energy.Source.Structure.Table table = Energy.Source.Structure.Table.Create(typeof(UserTableRecord)); Energy.Interface.IDialect script = new Energy.Query.Dialect.MYSQL(); query = script.CreateDescription(table); Console.WriteLine(query); query = script.DropTable(table.Name); if (db.Execute(query) < 0) { Console.WriteLine(db.ErrorMessage); } Console.WriteLine(query); query = script.CreateTable(table); if (db.Execute(query) < 0) { Console.WriteLine(db.ErrorMessage); } Console.WriteLine(query); Console.ReadLine(); }
private static void Go(string[] args) { string defaultConnectionString = @"Data Source=.\SQLEXPRESS;Initial Catalog=Test;Integrated Security=Yes;Connect Timeout=10;"; Console.WriteLine("Default connection string is {0}", defaultConnectionString); Console.Write("Connection string (enter \".\" to use default): "); string connectionString = "."; // Console.ReadLine(); if (connectionString == ".") { connectionString = defaultConnectionString; } if (string.IsNullOrEmpty(connectionString)) { return; } Energy.Source.Connection <System.Data.SqlClient.SqlConnection> x = new Energy.Source.Connection <System.Data.SqlClient.SqlConnection>(); x.ConnectionString = connectionString; do { using (var c = x.Copy()) { if (c == null) { break; } var outScalar = c.Scalar("SELECT * FROM logTable1"); //c.Pooling = true; //if (c.Open() == null) //Console.WriteLine("Cannot open connection"); } } while (false); //using (var c = x.Clone()) //{ // c.Pooling = false; // if (c.Open() == null) // Console.WriteLine("Cannot open connection"); //} //Core.Source.ConnectionString = connectionString; //Core.Source.Open(); //if (!Core.Source.Active) //{ // Console.WriteLine("Cannot open connection"); // return; //} //Core.Source.Close(); //Core.Log.SystemLogTable = ""; //Core.Log.ConsoleLog = true; //Core.Log.AutoFlush = false; Pool pool = new Pool(); int count = 3; count = (int)Energy.Core.Tilde.Input <int>("Enter thread count [~y~{0}~0~] : ~c~", count); for (int i = 0; i < count; i++) { Worker worker = new Worker(); worker.Name = Energy.Base.Hex.Random(); pool.Add(worker); } Energy.Core.Tilde.WriteLine("Input string is {0}", count); //Core.Log.Push("Starting... enter anything to stop"); //Core.Log.Flush(); for (int i = 0; i < pool.Count; i++) { pool[i].Thread.Start(); } while (true) { System.Threading.Thread.Sleep(100); //Core.Log.Flush(); string input = Energy.Core.Tilde.ReadLine(); if (input == null) { continue; } break; } for (int i = 0; i < pool.Count; i++) { pool[i].Thread.Abort(); } }
public Context(Energy.Source.Connection connection) { this.Connection = connection; }