如何用C#为SQL Server数据库创建一个新表?

 我来答
刺任芹O
2022-11-16 · TA获得超过6.2万个赞
知道顶级答主
回答量:38.7万
采纳率:99%
帮助的人:8327万
展开全部

有两种方法来为数据库创建一个新表,
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();
}

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式