basic test, fix

main
syneffort 2 years ago
parent 52eb1e7df7
commit 436778609d
  1. 6
      MSSQLServer_Console/MSSQLServer_Console.sln
  2. 66
      MSSQLServer_Console/MSSQLServer_Console/Program.cs
  3. 216
      MSSQLServer_Console/PSqlSeverWrapper/PSqlServer.cs

@ -7,6 +7,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MSSQLServer_Console", "MSSQ
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PSqlServerWrapper", "PSqlSeverWrapper\PSqlServerWrapper.csproj", "{34E74A48-F0B4-4F7F-9827-11AA4E0052D0}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MSSQLServer_Form", "MSSQLServer_Form\MSSQLServer_Form.csproj", "{ECBD649D-C7BE-4B59-A75C-CF6B00F5CAE5}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@ -21,6 +23,10 @@ Global
{34E74A48-F0B4-4F7F-9827-11AA4E0052D0}.Debug|Any CPU.Build.0 = Debug|Any CPU
{34E74A48-F0B4-4F7F-9827-11AA4E0052D0}.Release|Any CPU.ActiveCfg = Release|Any CPU
{34E74A48-F0B4-4F7F-9827-11AA4E0052D0}.Release|Any CPU.Build.0 = Release|Any CPU
{ECBD649D-C7BE-4B59-A75C-CF6B00F5CAE5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{ECBD649D-C7BE-4B59-A75C-CF6B00F5CAE5}.Debug|Any CPU.Build.0 = Debug|Any CPU
{ECBD649D-C7BE-4B59-A75C-CF6B00F5CAE5}.Release|Any CPU.ActiveCfg = Release|Any CPU
{ECBD649D-C7BE-4B59-A75C-CF6B00F5CAE5}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE

@ -1,7 +1,9 @@
using PSqlSeverWrapper;
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Diagnostics;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
@ -10,6 +12,8 @@ namespace MSSQLServer_Console
{
class Program
{
static Stopwatch watch = new Stopwatch();
static void Main(string[] args)
{
PSqlServer.ServerName = "peacecloud.synology.me,21433";
@ -26,6 +30,26 @@ namespace MSSQLServer_Console
//Console.WriteLine("table create.");
using (SqlConnection conn = PSqlServer.Connection)
{
conn.Open();
string query = "SELECT * FROM member;";
SqlDataAdapter adapter = PSqlServer.GetAdapterSelectQuery(conn, query);
DataTable dt = new DataTable();
adapter.Fill(dt);
Console.WriteLine($"Row: {dt.Rows.Count}");
foreach (DataRow row in dt.Rows)
{
row.Delete();
}
adapter.Update(dt);
Console.WriteLine($"Rows are cleared");
}
Random rnd = new Random();
//using (SqlConnection conn = PSqlServer.Connection)
//{
@ -42,18 +66,42 @@ namespace MSSQLServer_Console
// conn.Close();
//}
string[] queries = new string[2000];
for (int i = 0; i < 2000; i++)
{
string guid = Guid.NewGuid().ToString();
int age = rnd.Next(1, 100);
string name = $"Robo#{i + 1}";
queries[i] = $"INSERT INTO member VALUES ('{name}', {age}, '{guid}')";
}
//watch.Restart();
PSqlServer.ExecuteQuery(queries);
//string[] queries = new string[2000];
//for (int i = 0; i < 2000; i++)
//{
// string guid = Guid.NewGuid().ToString();
// int age = rnd.Next(1, 100);
// string name = $"Robo#{i + 1}";
// queries[i] = $"INSERT INTO member VALUES ('{name}', {age}, '{guid}')";
//}
//watch.Restart();
//PSqlServer.ExecuteQuery(queries);
//Debug.WriteLine($"Case1: {watch.ElapsedMilliseconds}ms");
//watch.Restart();
//DataTable table = new DataTable();
//table.Columns.AddRange(new DataColumn[] { new DataColumn("name", typeof(string)), new DataColumn("age", typeof(int)), new DataColumn("guid", typeof(string)) });
//for (int i = 0; i < 2000; i++)
//{
// string guid = Guid.NewGuid().ToString();
// int age = rnd.Next(1, 100);
// string name = $"Robo#{i + 1}";
// DataRow dataRow = table.NewRow();
// dataRow["name"] = name;
// dataRow["age"] = age;
// dataRow["guid"] = guid;
// table.Rows.Add(dataRow);
//}
//PSqlServer.BulkCopy("member", table);
//Debug.WriteLine($"Case2: {watch.ElapsedMilliseconds}ms");
Console.WriteLine("finish");
Console.ReadKey();
}
}
}

@ -31,170 +31,152 @@ namespace PSqlSeverWrapper
if (!CheckBasicInfo())
throw new ArgumentException("Invalid connection info");
try
{
return new SqlConnection(ConnString);
}
catch (Exception ex)
{
Debug.WriteLine(ex.ToString());
throw;
}
return new SqlConnection(ConnString);
}
}
public static void ExecuteQuery(string query)
{
try
using (SqlConnection conn = Connection)
{
using (SqlConnection conn = Connection)
{
conn.Open();
SqlCommand command = new SqlCommand(query, conn);
command.ExecuteNonQuery();
Connection.Close();
}
}
catch (Exception ex)
{
Debug.WriteLine(ex.ToString());
throw;
}
}
SqlCommand command = new SqlCommand(query, conn);
public static void ExecuteQuery(SqlConnection openedConn, string query)
{
try
{
SqlCommand command = new SqlCommand(query, openedConn);
conn.Open();
command.ExecuteNonQuery();
conn.Close();
}
catch (Exception ex)
{
Debug.WriteLine(ex.ToString());
throw;
}
}
public static void ExecuteQuery(SqlConnection openedConn, string query)
{
SqlCommand command = new SqlCommand(query, openedConn);
command.ExecuteNonQuery();
}
public static void ExecuteQueryAsync(SqlConnection openedConn, string query)
{
try
{
SqlCommand command = new SqlCommand(query, openedConn);
command.ExecuteNonQueryAsync();
}
catch (Exception ex)
{
Debug.WriteLine(ex.ToString());
throw;
}
SqlCommand command = new SqlCommand(query, openedConn);
command.ExecuteNonQueryAsync();
}
public static void ExecuteQuery(string[] queries)
{
try
{
using (SqlConnection conn = Connection)
{
using (SqlConnection conn = Connection)
{
conn.Open();
ExecuteQuery(conn, "BEGIN TRAN;");
conn.Open();
SqlTransaction trans = conn.BeginTransaction();
for (int i = 0; i < queries.Length; i++)
{
try
{
for (int i = 0; i < queries.Length; i++)
{
SqlCommand command = new SqlCommand(queries[i], conn);
command.Transaction = trans;
command.ExecuteNonQuery();
}
}
ExecuteQuery(conn, "COMMIT TRAN;");
Connection.Close();
trans.Commit();
}
catch (Exception ex)
{
Debug.WriteLine(ex);
trans.Rollback();
}
}
catch (Exception ex)
{
Debug.WriteLine(ex.ToString());
throw;
}
}
public static void ExecuteQueryAsync(string query)
conn.Close();
}
}
public static void BulkCopy(string tableName, DataTable table, string[] dbColumnMap = null)
{
try
{
using (SqlConnection conn = Connection)
using (SqlConnection conn = Connection)
{
SqlBulkCopy sqlBulkCopy = new SqlBulkCopy(conn);
sqlBulkCopy.DestinationTableName = tableName;
if (dbColumnMap != null && table.Columns.Count == dbColumnMap.Length)
{
conn.Open();
SqlCommand command = new SqlCommand(query, conn);
command.ExecuteNonQueryAsync();
Connection.Close();
for (int i = 0; i < table.Columns.Count; i++)
{
string colName = table.Columns[i].ColumnName;
sqlBulkCopy.ColumnMappings.Add(colName, dbColumnMap[i]);
}
}
conn.Open();
sqlBulkCopy.WriteToServer(table);
conn.Close();
}
catch (Exception ex)
}
public static void BulkCopyAsync(string tableName, DataTable table, string[] dbColumnMap = null)
{
using (SqlConnection conn = Connection)
{
Debug.WriteLine(ex.ToString());
throw;
SqlBulkCopy sqlBulkCopy = new SqlBulkCopy(conn);
sqlBulkCopy.DestinationTableName = tableName;
if (dbColumnMap != null && table.Columns.Count == dbColumnMap.Length)
{
for (int i = 0; i < table.Columns.Count; i++)
{
string colName = table.Columns[i].ColumnName;
sqlBulkCopy.ColumnMappings.Add(colName, dbColumnMap[i]);
}
}
conn.Open();
sqlBulkCopy.WriteToServerAsync(table);
conn.Close();
}
}
public static void ExecuteQueryAsync(string query)
{
using (SqlConnection conn = Connection)
{
SqlCommand command = new SqlCommand(query, conn);
conn.Open();
command.ExecuteNonQueryAsync();
conn.Close();
}
}
public static DataSet ExecuteSelectQuery(string query)
{
try
using (SqlConnection conn = Connection)
{
using (SqlConnection conn = Connection)
{
DataSet dataSet = new DataSet();
SqlDataAdapter adapter = new SqlDataAdapter(query, conn);
DataSet dataSet = new DataSet();
conn.Open();
SqlDataAdapter adapter = new SqlDataAdapter(query, conn);
adapter.Fill(dataSet);
Connection.Close();
conn.Open();
adapter.Fill(dataSet);
conn.Close();
return dataSet;
}
}
catch (Exception ex)
{
Debug.WriteLine(ex.ToString());
throw;
return dataSet;
}
}
public static DataSet ExecuteSelectQuery(SqlConnection openedConn, string query)
{
try
{
DataSet dataSet = new DataSet();
SqlDataAdapter adapter = new SqlDataAdapter(query, openedConn);
adapter.Fill(dataSet);
DataSet dataSet = new DataSet();
SqlDataAdapter adapter = new SqlDataAdapter(query, openedConn);
adapter.Fill(dataSet);
return dataSet;
}
catch (Exception ex)
{
Debug.WriteLine(ex.ToString());
throw;
}
return dataSet;
}
public static SqlDataAdapter GetAdapterSelectQuery(SqlConnection openedConn, string query, bool withCommandBuilder = true)
{
try
{
SqlDataAdapter adapter = new SqlDataAdapter(query, openedConn);
if (withCommandBuilder)
{
SqlCommandBuilder builder = new SqlCommandBuilder(adapter);
adapter.UpdateCommand = builder.GetUpdateCommand();
adapter.DeleteCommand = builder.GetDeleteCommand();
adapter.InsertCommand = builder.GetInsertCommand();
}
return adapter;
SqlDataAdapter adapter = new SqlDataAdapter(query, openedConn);
if (withCommandBuilder)
{
SqlCommandBuilder builder = new SqlCommandBuilder(adapter);
adapter.UpdateCommand = builder.GetUpdateCommand();
adapter.DeleteCommand = builder.GetDeleteCommand();
adapter.InsertCommand = builder.GetInsertCommand();
}
catch (Exception ex)
{
Debug.WriteLine(ex.ToString());
throw;
}
return adapter;
}
private static bool CheckBasicInfo()

Loading…
Cancel
Save