Sie sind auf Seite 1von 6

SI GN UP MEMBER LOGI N: Enter User I D or Emai l

Ask your queson or contri bute here...


ARTICLE
I n thi s arcl e, I l l show you how to create a new SQL Server database and i ts obj ects such as tabl e,
stored procedures, vi ews and add and vi ew data. I l l al so show you how to change database tabl e
schema programmacal l y. Youl l see how SQL statement ALTER TABLE i s useful when you need to change
a database tabl e schema programmacal l y.
Create a SQL Server Database dynamically in C#
Posted by Mahesh Chand i n Arcl es | ADO.NET i n C# on March 05, 2002
Tags: CREATE DATABASE, create databases, Create SQL Server database, CREATE TABLE, runme
database create, SQL Server
Tweet Tweet 1 0 98198 11
Reader Level:
SQL provides statements to create new databases and database objects. You can execute these
statements from your program to create databases programmatically.
In this article, I'll show you how to create a new SQL Server database and its objects such as
table, stored procedures, views and add and view data. I'll also show you how to change database
table schema programmatically. You'll see how SQL statement ALTER TABLE is useful when you
need to change a database table schema programmatically.
Not only that, this article also shows you how to view contents from a database table, stored
procedures and views.
SQL not only let you select, add, and delete data from databases table, it also provides commands
to manage databases. Using SQL statements you can create database objects programmatically
such as a table, view, stored procedure, rule, index and so on. It also provides commands to alter
a database and database schemas for example adding and deleting a column from a database
table, adding some constraints to a column and so on. This example shows you how to create a
new database table, add data to it, create a view of the data, alter database table and then
delete the newly created table.
In this application, I'll create a SQL Server database, create a database table, add data to it,
create database objects such as views, stored procedures, rules, and index and view data in the
data grid using Sql data provider.
To test this application, create a Widows application add a data grid control and some button
controls. You can even test code by adding only one button or one button for each activity. Our
application form looks like Figure 1.
Figure 1. Creating a database and it's object application.
After adding controls, add the following variables in the beginning of the form class.
ASP.NET 4.5 / Wi ndows 2012 Hosng
Dynami cPDF Devel oper Components
i Phone, Androi d & Web Devel opment Servi ces
Obj ect Ori ented Programmi ng Usi ng C# .Net
How to become a C# Programmer
What i s .NET Scope i n Future
Di spl ay Username Al ong Wi th Photo Aer Successful
Logi n
WormRace Game usi ng WPF and C#
Make Wi ndows 8 Boot Strai ght To the Desktop
ASP.NET MVC Wi th Knockout.Js
Capturi ng Hp trac i n C#
Worki ng Wi th Datagri dvi ew CheckBox,Combobox and
Buon Col umn
Vi sual Studi o and .NET's Uni t Test Framework
Vi ew Al l
WCF I ntroducon and Contracts - Day 1
Create SSRS Report Usi ng Report Wi zard
CREATE READ UPDATE and DELETE - CRUD Operaon
Usi ng LI NQ to SQL
WCF - Data Contract - Day 4
WCF - Di erence Between Servi ce Appl i caon and
Servi ce Li brary: Day 5

In Focus
Announced: January 2013 Winners
Obj ect Ori ented Programmi ng Usi ng C# .Net
C# Corner Search
Share Share 1 Like 4
0
PREMIUM SPONSORS
TRENDING UP
MOST LIKED ARTICLE
Find us on Facebook
C# Corner
Like
6,180 people like C# Corner.
Facebook social plugin
TECHNOLOGIES ANSWERS BLOGS VIDEOS INTERVIEWS BOOKS LINKS NEWS CHAPTERS
converted by Web2PDFConvert.com
private string ConnectionString ="Integrated Security=SSPI;" +
"Initial Catalog=;" +
"Data Source=localhost;";
private SqlDataReader reader = null;
private SqlConnection conn = null;
private SqlCommand cmd = null;
private System.Windows.Forms.Button AlterTableBtn;
private string sql = null;
private System.Windows.Forms.Button CreateOthersBtn;
private System.Windows.Forms.Button button1;
First thing I'm going to do is create ExecuteSQLStmt method. This method executes a SQL
statement against the SQL Sever database (mydb which I will create from my program) using Sql
data providers using ExecuteNonQuery method. The ExecuteSQLStmt method is listed in Listing 1.
Listing 1. The ExecuteSQLStmt method.
private void ExecuteSQLStmt(string sql)
{
if( conn.State == ConnectionState.Open)
conn.Close();
ConnectionString ="Integrated Security=SSPI;" +
"Initial Catalog=mydb;" +
"Data Source=localhost;";
conn.ConnectionString = ConnectionString;
conn.Open();
cmd = new SqlCommand(sql, conn);
try
{
cmd.ExecuteNonQuery();
}
catch(SqlException ae)
{
MessageBox.Show(ae.Message.ToString());
}
}
After this I'm going to create a new SQL Server database. The CREATE DATABASE SQL statement
creates a database. The syntax of CREATE DATABASE depends on the database you create.
Depending on the database type, you can also set values of database size, growth and file name.
Listing 2 creates a SQL Server database mydb and data files are stored in the C:\\mysql directory.
Listing 2. Creating a SQL Server database.
// This method creates a new SQL Server database
private void CreateDBBtn_Click(object sender, System.EventArgs e)
{
// Create a connection
conn = new SqlConnection(ConnectionString);
// Open the connection
if( conn.State != ConnectionState.Open)
conn.Open();
string sql = "CREATE DATABASE mydb ON PRIMARY"
+"(Name=test_data, filename = 'C:\\mysql\\mydb_data.mdf', size=3,"
+"maxsize=5, filegrowth=10%)log on"
+"(name=mydbb_log, filename='C:\\mysql\\mydb_log.ldf',size=3,"
+"maxsize=20,filegrowth=1)" ;
ExecuteSQLStmt(sql);
}
Now next step is to create a table. You use CREATE TABLE SQL statement to create a table. In
this statement you define the table and schema (table columns and their data types). Listing 3
creates a table myTable with four column listed in Table 1.
Table 1. New table myTable schema.
Column Name Type Size Property
myId integer 4 Primary Key
myName char 50 Allow Null
myAddress char 255 Allow Null
myBalance float 8 Allow Null
Listing 4. Creating a database table.
private void CreateTableBtn_Click(object sender, System.EventArgs e)
{
// Open the connection
if( conn.State == ConnectionState.Open)
conn.Close();
ConnectionString ="Integrated Security=SSPI;" +
"Initial Catalog=mydb;" +
"Data Source=localhost;";
conn.ConnectionString = ConnectionString;
conn.Open();
sql = "CREATE TABLE myTable"+
"(myId INTEGER CONSTRAINT PKeyMyId PRIMARY KEY,"+
"myName CHAR(50), myAddress CHAR(255), myBalance FLOAT)" ;
cmd = new SqlCommand(sql, conn);
try
{
.NET Framework Add ADO
ADO.NET Architecture Component
connection Data Access Layer
Datagrid datalist DataRow Entity Framework
Namespace OleDb Recordset SharpHSQL SQL
SQLConnection SqlDataAdapter Stored Procedure stored
procedures System.Data.OleDb Textbox ThreadStart
toolbox
DynamicPDF ReportWriter Suite
PDF reports have never been easi er to
create. Wi th our i ncl uded WYSI WYG
Desi gner, you can l ayout your reports, set
up your data source and l et Dynami cPDF
ReportWri ter do the rest.
SharePoi nt 2010 Admi ni straon & Devel opment
Geng Started wi th Managed Metadata Servi ce i n
SharePoi nt 2010
Wi ndows Phone 7 Hi l el eri
Wi ndows Phone Devel opment Step by Step Tutori al
Essenal s of SharePoi nt 2010: Busi ness I ntel l i gence
Capabi l i es
Worki ng wi th Di rectori es i n C#
Fi l eI nfo i n C#
Programmi ng Li st wi th C#
Source Code: Graphi cs Programmi ng wi th GDI +
Programmi ng Stri ngs usi ng C#
Vi ew Al l
Your rs t company
What was the size of your rst company?
Smal l (Empl oyees between 21 - 100)
Medi um (Empl oyees between 101 - 500)
Large Corporaon (Empl oyees over 500)
Startup (Less than 20 Empl oyees)
Vote
HOT KEYWORDS
SPONSORED BY
WHITEPAPERS AND BOOKS
POLL RESULT ALL POLLS
converted by Web2PDFConvert.com
cmd.ExecuteNonQuery();
// Adding records the table
sql = "INSERT INTO myTable(myId, myName, myAddress, myBalance) "+
"VALUES (1001, 'Puneet Nehra', 'A 449 Sect 19, DELHI', 23.98 ) " ;
cmd = new SqlCommand(sql, conn);
cmd.ExecuteNonQuery();
sql = "INSERT INTO myTable(myId, myName, myAddress, myBalance) "+
"VALUES (1002, 'Anoop Singh', 'Lodi Road, DELHI', 353.64) " ;
cmd = new SqlCommand(sql, conn);
cmd.ExecuteNonQuery();
sql = "INSERT INTO myTable(myId, myName, myAddress, myBalance) "+
"VALUES (1003, 'Rakesh M', 'Nag Chowk, Jabalpur M.P.', 43.43) " ;
cmd = new SqlCommand(sql, conn);
cmd.ExecuteNonQuery();
sql = "INSERT INTO myTable(myId, myName, myAddress, myBalance) "+
"VALUES (1004, 'Madan Kesh', '4th Street, Lane 3, DELHI', 23.00) " ;
cmd = new SqlCommand(sql, conn);
cmd.ExecuteNonQuery();
}
catch(SqlException ae)
{
MessageBox.Show(ae.Message.ToString());
}
}
As you can see from Listing 5, I also add data to the table using INSERT INTO SQL statement.
The CREATE PROCEDURE statement creates a stored procedure as you can see in Listing 10-18, I
create a stored procedure myPoc which returs data result of SELECT myName and myAddress
column.
Listing 5. Creating a stored procedure programmatically.
Private void CreateSPBtn_Click(object sender, System.EventArgs e)
{
sql = "CREATE PROCEDURE myProc AS"+
" SELECT myName, myAddress FROM myTable GO";
ExecuteSQLStmt(sql);
}
Now I show you how to create views programmatically using CREATE VIEW SQL statement. As you
can see from Listing 6, I create a view myView which is result of myName column rows from
myTable.
Listing 6. Creating a view using CREATE VIEW
private void CreateViewBtn_Click(object sender, System.EventArgs e)
{
sql = "CREATE VIEW myView AS SELECT myName FROM myTable";
ExecuteSQLStmt(sql);
}
The ALTER TABLE is a useful SQL statement if you need to change your database schema
programmatically. The ALTER TABLE statement can be used to add and remove new columns to a
table, changing column properties, data types and constraints. The Listing 7 show that I change
the database schema of myTable by first change column data type range from 50 to 100
characters and by adding a new column newCol of TIMESTAMP type.
Listing 7. Using ALTER TABLE to change a database schema programmatically.
Private void AlterTableBtn_Click(object sender, System.EventArgs e)
{
sql = "ALTER TABLE MyTable ALTER COLUMN"+
"myName CHAR(100) NOT NULL";
ExecuteSQLStmt(sql);
}
The new table schema looks like Table 2.
Table 2. MyTable after ALTER TABLE
Column Name Type Size Property
myId integer 4 Primary Key
myName char 50 Allow Null
myAddress char 255 Allow Null
myBalance float 8 Allow Null
newCol timestamp 8 Allow Null
You can also create other database object such as index, rule, and users. The code listed in Listing
8 creates one rule and index on myTable.
Note: Create Index can only create an index if you don't have an index on a table. Otherwise you
will get an error message.
Listing 8. Creating rules and indexes using SQL statement.
private void CreateOthersBtn_Click(object sender, System.EventArgs e)
{
sql = "CREATE UNIQUE CLUSTERED INDEX "+
"myIdx ON myTable(myName)";
ExecuteSQLStmt(sql);
converted by Web2PDFConvert.com
sql = "CREATE RULE myRule "+
"AS @myBalance >= 32 AND @myBalance < 60";
ExecuteSQLStmt(sql);
}
The DROP TABLE command can be used to delete a table and its data permanently. The code listed
in Listing 9 deletes myTable.
Listing 9. Deleting table using DROP TABLE.
Private void DropTableBtn_Click(object sender, System.EventArgs e)
{
string sql = "DROP TABLE MyTable ";
ExecuteSQLStmt(sql);
}
Now next step is to view data from the table, view and stored procedure. The ViewDataBtn_Click
method listed in Listing 10 shows the entire data from the table. The ViewSPBtn_Click and
ViewViewBtn_Click methods view stored procedure and view data we have created earlier. As you
can see using views and stored procedures work same as you use a SQL Statement. We have
discussed working with Views and stored procedures in the beginning of this chapter. As you can
see from Listing 10, 11, and 12, I view data from stored procedure and view.
Listing 10. Viewing data from a database table.
private void ViewDataBtn_Click(object sender, System.EventArgs e)
{
/// Open the connection
if( conn.State == ConnectionState.Open)
conn.Close();
ConnectionString ="Integrated Security=SSPI;" +
"Initial Catalog=mydb;" +
"Data Source=localhost;";
conn.ConnectionString = ConnectionString;
conn.Open();
// Create a data adapter
SqlDataAdapter da = new SqlDataAdapter
("SELECT * FROM myTable", conn);
// Create DataSet, fill it and view in data grid
DataSet ds = new DataSet("myTable");
da.Fill(ds, "myTable");
dataGrid1.DataSource = ds.Tables["myTable"].DefaultView;
}
Listing 11.Using a stored procedure to view data from a table.
private void ViewSPBtn_Click(object sender, System.EventArgs e)
{
/// Open the connection
if( conn.State == ConnectionState.Open)
conn.Close();
ConnectionString ="Integrated Security=SSPI;" +
"Initial Catalog=mydb;" +"Data Source=localhost;";
conn.ConnectionString = ConnectionString;
conn.Open();
// Create a data adapter
SqlDataAdapter da = new SqlDataAdapter("myProc", conn);
// Create DataSet, fill it and view in data grid
DataSet ds = new DataSet("SP");
da.Fill(ds, "SP");
dataGrid1.DataSource = ds.DefaultViewManager;
}
Listing 12.Using a view to view data from a table.
private void ViewViewBtn_Click(object sender, System.EventArgs e)
{
/// Open the connection
if( conn.State == ConnectionState.Open)
conn.Close();
ConnectionString ="Integrated Security=SSPI;" +
"Initial Catalog=mydb;" +
"Data Source=localhost;";
conn.ConnectionString = ConnectionString;
conn.Open();
// Create a data adapter
SqlDataAdapter da = new SqlDataAdapter
("SELECT * FROM myView", conn);
// Create DataSet, fill it and view in data grid
DataSet ds = new DataSet();
da.Fill(ds);
dataGrid1.DataSource = ds.DefaultViewManager;
}
Finally, I create AppExit method which releases the connection and reader objects and I call them
from the Dispose method as you can see in Listing 13.
Listing 13. AppExit method
protected override void Dispose( bool disposing )
{
AppExit();
converted by Web2PDFConvert.com
Contents added by rezvan shahri ari on Dec 30, 2012
POST COMMENT
Posted by raz real on Dec 08, 2012
Posted by Ante Sevo on Nov 22, 2012
Posted by shakeel 2dv on Jul 26, 2012
if( disposing )
{
if (components != null)
{
components.Dispose();
}
}
base.Dispose( disposing );
}
// Called when you are done with the applicaton
// Or from Close button
private void AppExit()
{
if (reader != null)
reader.Close();
if (conn.State == ConnectionState.Open)
conn.Close();
}
Summary
In this article, you saw how to create a new database and database objects including tables,
stored procedures, views and alter tables. You also saw how to delete these object using SQL
statements.
THI S FEATURE I S
SPONSORED BY
PDF reports have never been eas i er to create. Wi th our i ncl uded WYSI WYG Des i gner, you
can l ayout your reports , s et up your data s ource and l et Dynami cPDF ReportWri ter do the
res t.
SQL Server Database Mi rrori ng: Part 3 How to Create Database Backup i n SQL Server 2012
Create a SQL Server CE Database From SQL Schema
Fi l e
REMOTI NG Usi ng SQL Server Database
Automac SQL Server Backup Ul i ty usi ng Sql server
Agent
Create and Del ete Database i n SQL Server 2012 I mporng Access Database i nto SQL Server 2012
Wi ndows Azure - Create new SQL Azure Server and
Database
Creang a SQL Server Database Programmacal l y
usi ng SQLDMO
SQL Server Database Mi rrori ng: Part 2
RELATED ARTI CLES
Logi n to add your contents and source code to thi s arcl e
Arcle Extensions
very good code
Read Microso Access Database in C#
Tags: .mdb connecon, .mdb l e, access i n C#,
ADO.NET connecon, Mi croso Access, Read
Access Database usi ng C#
How to Upload I mages to Databases or
How to Store I mages to Database
Tags: .net, ado.net, arcl es, C#, Databases,
i mages to database, vi sual studi o
i try to create database but fol l owi ng excepon i s rai sed.. system.data.sql cl ei ent.sql excepon {"A
network-rel ated or i nstance-speci c error occurred whi l e establ i shi ng a connecon to SQL Server. The
server was not found or was not accessi bl e. Veri fy that the i nstance name i s correct and that SQL
Server i s congured to al l ow remote connecons. (provi der: Named Pi pes Provi der, error: 40 - Coul d
not open a connecon to SQL Server)"} pl z hel p me out...thanks..
Hi I 'm tryi n to devel op web servi ce appl i caon where I need to create database di nami cal y. I have
probl em i n connecng to sql server. Do you know i fI have to make some changes i n my web.cong l e
i n conneconstri ngs part? Thanks i n advance.Ante
Hi , The arcl e i s qui te i nformave and I am worki ng on ki nd of same techni que but I am havi ng some
error. I have to create mul pl e store procedures. Li ke fol l ows: Create procedure ABC ASSome
Statement GO Create procedure XYZ ASSome Statements GO .. And i t comes up wi th Error I ncorrect
syntax near the keyword 'PROCEDURE'. But as l ong as one procedure creaon i s concern i t works.
And as I have 100s of SPs to create. Shakeel
Hi i l i ke your tutori al but was wonderi ng i f you can create a database programmacal l y usi ng a
textbox to enter the database name rather than hard-codi ng the l es i n code vi ew? Thanks
converted by Web2PDFConvert.com
Posted by Desi Bravo on Feb 28, 2012
Posted by ki uk I u on Jan 19, 2012
View All Comments
Hosted By CBeyond Cloud Services
2013 C# Corner. Al l contents are copyri ght of thei r authors.
PRI VACY POLI CY | TERMS & CONDI TI ONS | SI TEMAP | CONTACT US | ABOUT US | REPORT ABUSE
MVPs MOST VI EWED LEGENDS NOW PRI ZES AWARDS REVI EWS SURVEY CERTI FI CATI ONS DOWNLOADS
pl ease hel p me i created wi ndows form add person and now need to save i n another form l i st of cl i ent
how i can make ??? pl ease hel p me i n vi sual C++
COMMENT USING
Facebook social plugin
Add a comment...

PHOTOS TI PS CONSULTI NG TRAI NI NG STUDENTS MEMBERS MEDI A KI T SUGGEST AN I DEA
converted by Web2PDFConvert.com

Das könnte Ihnen auch gefallen