[ Team LiB ]
Recipe 10.8 Adding TablestoaDatabase
Problem
You need to add a table to an existing database.
Solution
Use the CREATE TABLE statement.
The sample code executes the DDL statement—using the ExecuteNonQuery( ) method o
f
the Command object—to add a table to an existing SQL Server database.
The C# code is shown in Example 10-8
.
Example 10-8. File: AddTableToDatabaseForm.cs
// Namespaces, variables, and constants
using System;
using System.Configuration;
using System.Data;
using System.Data.SqlClient;
// . . .
SqlConnection conn = new SqlConnection(
ConfigurationSettings.AppSettings["Sql_ConnectString"]);
String createSql = "CREATE TABLE MyTable " +
"(MyTableId int IDENTITY(1,1) PRIMARY KEY CLUSTERED)";
SqlCommand cmd = new SqlCommand(createSql, conn);
// Create the table in the database.
try
{
conn.Open( );
cmd.ExecuteNonQuery( );
resultTextBox.Text = "Table created successfully";
}
catch (System.Exception ex)
{
resultTextBox.Text = ex.ToString( );
}
finally
{
if (conn.State == ConnectionState.Open)
conn.Close( );
}
Discussion
There are two categories of SQL statements:
D
atabase Definition Language (DDL)
Used to manage all objects in the database, generally with CREATE, ALTER, and
DROP statements to create, modify, and delete objects, respectively. These
statements generally require DBA permissions to execute.
D
atabase Managemen
t
Language (DML)
Used to manipulate—select, insert, update, and delete—data in the database
objects. Database objects are defined using DDL.
The solution executes a DDL CREATE TABLE statement to create a table in the
database and a primary key on the new table in a SQL Server database.
You can programmatically drop a table using the DROP TABLE statement in a similar
way. To drop the table created in this example, use the following code:
DROP TABLE MyTable
The DROP TABLE statement will fail if the table is in use; therefore, it might be
necessary to restart the SQL Server.
For more information about the CREATE TABLE statement or the DROP TABLE
statement, see Microsoft SQL Server Books Online.
The solution for Oracle databases and other databases is similar to that shown for SQL
Server. However, the DDL syntax for each database varies slightly because of differences
in database server capabilities and architecture. For example, the CREATE TABLE
statement for Oracle is different because Oracle does not support identity columns and
uses sequences instead (see Recipe 4.4
for more information about Oracle sequences).
For more information about Oracle SQL syntax, see Oracle in a Nutshell by Rick
Greenwald and David C. Kreines (O'Reilly).
[ Team LiB ]
. [ Team LiB ]
Recipe 10.8 Adding Tables to a Database
Problem
You need to add a table to an existing database.
Solution
Use the CREATE TABLE statement delete—data in the database
objects. Database objects are defined using DDL.
The solution executes a DDL CREATE TABLE statement to create a table in the
database