C#中如何用SQL语言创建数据库,把SQL语句写在哪?求大神指点

如题所述

第1个回答  推荐于2016-10-26
有两种方法来为数据库创建一个新表,
1. 我们可以用 ADO.NET 写出并执行 T-SQL 语句来创建表:
private void CreateTableBtn_Click(object sender, System.EventArgs e)
{
// 打开连接
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);
cmd.ExecuteNonQuery();
}

2. 我们可以引用 SMO 库并用 SMO 函数来创建一个表
private void CreateTableBtn_Click(object sender, System.EventArgs e)
{
// 建立数据库服务器
string connectionString = "...";
SqlConnection connection =
new SqlConnection(connectionString);
Server server =
new Server(new ServerConnection(connection));

// 在我的个人数据库中创建表
Database db = server.Databases["mydb"];
// 建立 TestTable 的新表
Table newTable = new Table(db, "TestTable");
// 添加主键 ID 列
Column idColumn = new Column(newTable, "ID");

idColumn.DataType = DataType.Int;
idColumn.Nullable = false;
idColumn.Identity = true;
idColumn.IdentitySeed = 1;
idColumn.IdentityIncrement = 1;

// 添加 "Title" 列
Column titleColumn = new Column(newTable, "Title");
titleColumn.DataType = DataType.VarChar(50);
titleColumn.Nullable = false;

// 为 Table 对象添加列
newTable.Columns.Add(idColumn);
newTable.Columns.Add(titleColumn);

// 为表创建一个主键的索引
Index index = new Index(newTable, "PK_TestTable");
index.IndexKeyType = IndexKeyType.DriPrimaryKey;

// 主键索引包括 1 列 "ID"
index.IndexedColumns.Add(new IndexedColumn(index, "ID"));

// 表中添加一个新的索引 .
newTable.Indexes.Add(index);

// 在数据库中实际创建一个表
newTable.Create();
}追问

如果是Access数据库呢?

追答

http://www.cnblogs.com/guanjinke/archive/2006/11/30/577241.html

本回答被提问者采纳
相似回答