using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;
using System.Data.SqlClient;
public class Form1 : System.Windows.Forms.Form
{
private System.Windows.Forms.DataGrid dataGrid1;
private System.ComponentModel.Container components = null;
public Form1()
{
InitializeComponent();
}
private void InitializeComponent(){
this.dataGrid1 = new System.Windows.Forms.DataGrid();
((System.ComponentModel.ISupportInitialize)(this.dataGrid1)).BeginInit();
this.SuspendLayout();
this.dataGrid1.DataMember = "";
this.dataGrid1.HeaderForeColor = System.Drawing.SystemColors.ControlText;
this.dataGrid1.Location = new System.Drawing.Point(8, 8);
this.dataGrid1.Name = "dataGrid1";
this.dataGrid1.Size = new System.Drawing.Size(608, 256);
this.dataGrid1.TabIndex = 0;
this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
this.ClientSize = new System.Drawing.Size(624, 272);
this.Controls.Add(this.dataGrid1);
this.Name = "Form1";
this.Text = "Form1";
this.Load += new System.EventHandler(this.Form1_Load);
((System.ComponentModel.ISupportInitialize)(this.dataGrid1)).EndInit();
this.ResumeLayout(false);
}
static void Main() {
Application.Run(new Form1());
}
private void Form1_Load(object sender, System.EventArgs e){
string connString = "server=(local)SQLEXPRESS;database=MyDatabase;Integrated Security=SSPI";
string sql = @"select * from employee";
SqlConnection conn = new SqlConnection(connString);
SqlDataAdapter da = new SqlDataAdapter(sql, conn);
DataSet ds = new DataSet();
da.Fill(ds, "customers");
// Bind the data table to the data grid
dataGrid1.SetDataBinding(ds, "customers");
}
}
Month: February 2011
Read comma separated value into DataSet
using System;
using System.Data;
using System.IO;
class Class1{
static void Main(string[] args){
DataSet myDataSet = GetData();
foreach (DataColumn c in myDataSet.Tables[“TheData”].Columns){
Console.Write(“{0,-20}”,c.ColumnName);
}
Console.WriteLine();
foreach (DataRow r in myDataSet.Tables[“TheData”].Rows)
{
foreach (DataColumn c in myDataSet.Tables[“TheData”].Columns)
{
Console.Write(“{0,-20}”,r);
}
Console.WriteLine();
}
}
private static DataSet GetData(){
string strLine;
string[] strArray;
char[] charArray = new char[] {','};
DataSet ds = new DataSet();
DataTable dt = ds.Tables.Add(“TheData”);
FileStream aFile = new FileStream(“csv.txt”,FileMode.Open);
StreamReader sr = new StreamReader(aFile);
strLine = sr.ReadLine();
strArray = strLine.Split(charArray);
for(int x=0;x<=strArray.GetUpperBound(0);x++) { dt.Columns.Add(strArray[x].Trim()); } strLine = sr.ReadLine(); while(strLine != null) { strArray = strLine.Split(charArray); DataRow dr = dt.NewRow(); for(int i=0;i<=strArray.GetUpperBound(0);i++) { dr[i] = strArray[i].Trim(); } dt.Rows.Add(dr); strLine = sr.ReadLine(); } sr.Close(); return ds; } } // File: csv.txt /* 1,2,3,4 5,6,7,8 */ [/csharp]
This example will read a csv file into a dataset and save it back when you press button 1
//This example code is from eran.rivlis at gmail.com
DataTable dt = new DataTable();
private void Form1_Load(object sender, EventArgs e)
{
string conString = @”Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:csv” +
@”;Extended Properties=””Text;HDR=No;FMT=Delimited”””;
OleDbConnection conn = new OleDbConnection(conString);
OleDbDataAdapter da = new OleDbDataAdapter(@”Select * from table1.csv”, conn);
da.Fill(dt);
dataGridView1.DataSource = dt;
}
private void button1_Click(object sender, EventArgs e)
{
StringBuilder sbCSV = new StringBuilder();
int intColCount = dt.Columns.Count;
foreach (DataRowView dr in dt.DefaultView)
{
for (int x = 0; x < intColCount; x++)
{
sbCSV.Append(dr[x].ToString());
if ((x + 1) != intColCount)
{
sbCSV.Append(",");
}
}
sbCSV.Append("
");
}
using (StreamWriter sw = new StreamWriter(@"c:csv able1.csv"))
{
sw.Write(sbCSV.ToString());
}
}
[/csharp]
Create table through SqlConnection
using System;
using System.Data;
using System.Data.SqlClient;
class CommandExampleCreateDb
{
static void Main()
{
SqlConnection thisConnection = new SqlConnection("server=(local)SQLEXPRESS;database=MyDatabase;Integrated Security=SSPI");
SqlCommand nonqueryCommand = thisConnection.CreateCommand();
try
{
thisConnection.Open();
nonqueryCommand.CommandText = "CREATE DATABASE MyDb";
Console.WriteLine(nonqueryCommand.CommandText);
nonqueryCommand.ExecuteNonQuery();
Console.WriteLine("Database created, now switching");
thisConnection.ChangeDatabase("MyDb");
nonqueryCommand.CommandText = "CREATE TABLE MyJava2sTable (COL1 integer)";
Console.WriteLine(nonqueryCommand.CommandText);
Console.WriteLine("Number of Rows Affected is: {0}", nonqueryCommand.ExecuteNonQuery());
nonqueryCommand.CommandText = "INSERT INTO MyJava2sTable VALUES (99)";
Console.WriteLine(nonqueryCommand.CommandText);
Console.WriteLine("Number of Rows Affected is: {0}", nonqueryCommand.ExecuteNonQuery());
} catch (SqlException ex) {
Console.WriteLine(ex.ToString());
} finally {
thisConnection.Close();
Console.WriteLine("Connection Closed.");
}
}
}
Use ExecuteNonQuery() to run DDL statements: create table
using System;
using System.Data;
using System.Data.SqlClient;
class ExecuteDDL {
public static void Main() {
SqlConnection mySqlConnection = new SqlConnection("server=localhost;database=Northwind;uid=sa;pwd=sa");
SqlCommand mySqlCommand = mySqlConnection.CreateCommand();
mySqlCommand.CommandText =
"CREATE TABLE MyPersons (" +
" PersonID int CONSTRAINT PK_Persons PRIMARY KEY," +
" FirstName nvarchar(15) NOT NULL," +
" LastName nvarchar(15) NOT NULL," +
" DateOfBirth datetime" +
")";
mySqlConnection.Open();
Console.WriteLine("Creating MyPersons table");
int result = mySqlCommand.ExecuteNonQuery();
Console.WriteLine("mySqlCommand.ExecuteNonQuery() = " + result);
mySqlCommand.CommandText =
"ALTER TABLE MyPersons " +
"ADD EmployerID nchar(5) CONSTRAINT FK_Persons_Customers " +
"REFERENCES Customers(CustomerID)";
result = mySqlCommand.ExecuteNonQuery();
Console.WriteLine("mySqlCommand.ExecuteNonQuery() = " + result);
mySqlCommand.CommandText = "DROP TABLE MyPersons";
result = mySqlCommand.ExecuteNonQuery();
Console.WriteLine("mySqlCommand.ExecuteNonQuery() = " + result);
mySqlConnection.Close();
}
}
use the ExecuteNonQuery() method to run DDL statements
using System;
using System.Data;
using System.Data.SqlClient;
class ExecuteDDL
{
public static void Main()
{
SqlConnection mySqlConnection =new SqlConnection("server=(local)SQLEXPRESS;database=MyDatabase;Integrated Security=SSPI;");
SqlCommand mySqlCommand = mySqlConnection.CreateCommand();
mySqlCommand.CommandText =
"CREATE TABLE MyEmployee (" +
" ID int CONSTRAINT PK_Persons PRIMARY KEY," +
" FirstName nvarchar(15) NOT NULL," +
" LastName nvarchar(15) NOT NULL," +
" DateOfBirth datetime" +
")";
mySqlConnection.Open();
Console.WriteLine("Creating MyEmployee table");
int result = mySqlCommand.ExecuteNonQuery();
Console.WriteLine("mySqlCommand.ExecuteNonQuery() = " + result);
mySqlCommand.CommandText =
"ALTER TABLE MyEmployee " +
"ADD EmployerID nchar(5) CONSTRAINT FK_Persons_Customers " +
"REFERENCES Employee(ID)";
Console.WriteLine("Altering MyEmployee table");
result = mySqlCommand.ExecuteNonQuery();
Console.WriteLine("mySqlCommand.ExecuteNonQuery() = " + result);
mySqlCommand.CommandText = "DROP TABLE MyEmployee";
Console.WriteLine("Dropping MyEmployee table");
result = mySqlCommand.ExecuteNonQuery();
Console.WriteLine("mySqlCommand.ExecuteNonQuery() = " + result);
mySqlConnection.Close();
}
}
Create database through SqlConnection
using System;
using System.Data;
using System.Data.SqlClient;
class CommandExampleCreateDb
{
static void Main()
{
SqlConnection thisConnection = new SqlConnection("server=(local)SQLEXPRESS;database=MyDatabase;Integrated Security=SSPI");
SqlCommand nonqueryCommand = thisConnection.CreateCommand();
try
{
thisConnection.Open();
nonqueryCommand.CommandText = "CREATE DATABASE MyDb";
Console.WriteLine(nonqueryCommand.CommandText);
nonqueryCommand.ExecuteNonQuery();
Console.WriteLine("Database created, now switching");
thisConnection.ChangeDatabase("MyDb");
nonqueryCommand.CommandText = "CREATE TABLE MyJava2sTable (COL1 integer)";
Console.WriteLine(nonqueryCommand.CommandText);
Console.WriteLine("Number of Rows Affected is: {0}", nonqueryCommand.ExecuteNonQuery());
nonqueryCommand.CommandText = "INSERT INTO MyJava2sTable VALUES (99)";
Console.WriteLine(nonqueryCommand.CommandText);
Console.WriteLine("Number of Rows Affected is: {0}", nonqueryCommand.ExecuteNonQuery());
} catch (SqlException ex) {
Console.WriteLine(ex.ToString());
} finally {
thisConnection.Close();
Console.WriteLine("Connection Closed.");
}
}
}

