122 lines
5.5 KiB
C#
122 lines
5.5 KiB
C#
using System;
|
|
using System.Data;
|
|
using System.Data.SqlClient;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
|
|
namespace XMLExtractor
|
|
{
|
|
class DBConnection
|
|
{
|
|
public SqlConnection open()
|
|
{
|
|
using (SqlConnection conn = new SqlConnection())
|
|
{
|
|
// Create the connectionString
|
|
// Trusted_Connection is used to denote the connection uses Windows Authentication
|
|
conn.ConnectionString = @"Data Source= bfdspuc01t.hp,1433; Database=ReportModeler2; User ID=userHP; Password=userHP;";
|
|
conn.Open();
|
|
conn.Close();
|
|
return conn;
|
|
}
|
|
|
|
}
|
|
|
|
public void close(SqlConnection conn)
|
|
{
|
|
conn.Close();
|
|
}
|
|
|
|
static void createTables(Data data)
|
|
{
|
|
// Create the connection to the resource.
|
|
// The connection is established and
|
|
// available throughout this block.
|
|
using (SqlConnection conn = new SqlConnection())
|
|
{
|
|
// Create the connectionString
|
|
// Trusted_Connection is used to denote the connection uses Windows Authentication
|
|
conn.ConnectionString = "Server=[server_name];Database=[ReportModeler2];Trusted_Connection=true";
|
|
conn.Open();
|
|
// Create the command
|
|
SqlCommand command = new SqlCommand("SELECT * FROM TableName WHERE FirstColumn = @0", conn);
|
|
// Add the parameters.
|
|
command.Parameters.Add(new SqlParameter("0", 1));
|
|
|
|
/* Get the rows and display on the screen!
|
|
* This section of the code has the basic code
|
|
* that will display the content from the Database Table
|
|
* on the screen using an SqlDataReader. */
|
|
|
|
using (SqlDataReader reader = command.ExecuteReader())
|
|
{
|
|
Console.WriteLine("FirstColumn\tSecond Column\t\tThird Column\t\tForth Column\t");
|
|
while (reader.Read())
|
|
{
|
|
Console.WriteLine(String.Format("{0} \t | {1} \t | {2} \t | {3}",
|
|
reader[0], reader[1], reader[2], reader[3]));
|
|
}
|
|
}
|
|
Console.WriteLine("Data displayed! Now press enter to move to the next section!");
|
|
Console.ReadLine();
|
|
Console.Clear();
|
|
|
|
/* Above code was used to display the data from the Database table!
|
|
* This following section explains the key features to use
|
|
* to add the data to the table. This is an example of another
|
|
* SQL Command (INSERT INTO), this will teach the usage of parameters and connection.*/
|
|
|
|
Console.WriteLine("INSERT INTO command");
|
|
|
|
// Create the command, to insert the data into the Table!
|
|
// this is a simple INSERT INTO command!
|
|
|
|
SqlCommand insertCommand = new SqlCommand("INSERT INTO TableName (FirstColumn, SecondColumn, ThirdColumn, ForthColumn) VALUES (@0, @1, @2, @3)", conn);
|
|
|
|
// In the command, there are some parameters denoted by @, you can
|
|
// change their value on a condition, in my code they're hardcoded.
|
|
|
|
insertCommand.Parameters.Add(new SqlParameter("0", 10));
|
|
insertCommand.Parameters.Add(new SqlParameter("1", "Test Column"));
|
|
insertCommand.Parameters.Add(new SqlParameter("2", DateTime.Now));
|
|
insertCommand.Parameters.Add(new SqlParameter("3", false));
|
|
|
|
// Execute the command, and print the values of the columns affected through
|
|
// the command executed.
|
|
|
|
Console.WriteLine("Commands executed! Total rows affected are " + insertCommand.ExecuteNonQuery());
|
|
Console.WriteLine("Done! Press enter to move to the next step");
|
|
Console.ReadLine();
|
|
Console.Clear();
|
|
|
|
/* In this section there is an example of the Exception case
|
|
* Thrown by the SQL Server, that is provided by SqlException
|
|
* Using that class object, we can get the error thrown by SQL Server.
|
|
* In my code, I am simply displaying the error! */
|
|
Console.WriteLine("Now the error trial!");
|
|
|
|
// try block
|
|
try
|
|
{
|
|
// Create the command to execute! With the wrong name of the table (Depends on your Database tables)
|
|
SqlCommand errorCommand = new SqlCommand("SELECT * FROM someErrorColumn", conn);
|
|
// Execute the command, here the error will pop up!
|
|
// But since we're catching the code block's errors, it will be displayed inside the console.
|
|
errorCommand.ExecuteNonQuery();
|
|
}
|
|
// catch block
|
|
catch (SqlException er)
|
|
{
|
|
// Since there is no such column as someErrorColumn (Depends on your Database tables)
|
|
// SQL Server will throw an error.
|
|
Console.WriteLine("There was an error reported by SQL Server, " + er.Message);
|
|
}
|
|
}
|
|
// Final step, close the resources flush dispose them. ReadLine to prevent the console from closing.
|
|
Console.ReadLine();
|
|
}
|
|
}
|
|
}
|