要实现C#自动创建数据库的代码,可以采用ADO.NET的方式来实现。以下是实现步骤:
1. 引入命名空间和依赖库
首先,在代码文件中引入命名空间和依赖库
using System.Data.SqlClient;
2. 创建数据库连接
使用SqlConnection
类创建数据库连接对象,然后使用连接字符串指定连接的数据库和身份认证信息。
string connStr = "Data Source=yourServerName;Initial Catalog=yourDataBase;Integrated Security=True";
SqlConnection conn = new SqlConnection(connStr);
其中,yourServerName
是数据库服务器名称,yourDataBase
是要连接的数据库名称。
3. 创建数据库
可以使用SqlCommand
类的ExecuteNonQuery()
方法来执行创建数据库的SQL语句。在本例中,我们将使用SQL Server中的CREATE DATABASE
语句。
string dbName = "myTestDB";
string createDBSql = "CREATE DATABASE " + dbName;
SqlCommand cmd = new SqlCommand(createDBSql, conn);
conn.Open();
cmd.ExecuteNonQuery();
conn.Close();
其中,myTestDB
是要创建的数据库名称,createDBSql
是SQL语句字符串。
4. 创建表
在创建了数据库之后,我们可以继续使用SqlCommand
类的ExecuteNonQuery()
方法来执行创建表的SQL语句。在本例中,我们将使用SQL Server中的CREATE TABLE
语句。
string createTableSql = "CREATE TABLE myTable (ID int, Name varchar(50))";
SqlCommand cmd = new SqlCommand(createTableSql, conn);
conn.Open();
cmd.ExecuteNonQuery();
conn.Close();
其中,myTable
是要创建的表名,ID
和Name
是表的两个字段名。
示例
下面给出一个完整的示例代码,该代码会自动创建一个名为myTestDB
的数据库和一个名为myTable
的表,并插入一条数据。
using System;
using System.Data.SqlClient;
namespace Test
{
class Program
{
static void Main(string[] args)
{
string connStr = "Data Source=yourServerName;Initial Catalog=yourDataBase;Integrated Security=True";
string dbName = "myTestDB";
string createDBSql = "CREATE DATABASE " + dbName;
string createTableSql = "CREATE TABLE myTable (ID int, Name varchar(50))";
string insertSql = "INSERT INTO myTable (ID, Name) VALUES (1, 'test')";
SqlConnection conn = new SqlConnection(connStr);
SqlCommand cmd = new SqlCommand(createDBSql, conn);
try
{
conn.Open();
cmd.ExecuteNonQuery();
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
finally
{
conn.Close();
}
connStr = connStr + ";Initial Catalog=" + dbName;
conn = new SqlConnection(connStr);
cmd = new SqlCommand(createTableSql, conn);
try
{
conn.Open();
cmd.ExecuteNonQuery();
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
finally
{
conn.Close();
}
cmd = new SqlCommand(insertSql, conn);
try
{
conn.Open();
cmd.ExecuteNonQuery();
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
finally
{
conn.Close();
}
}
}
}
另外,你可以将上述代码封装成一个静态方法,让其更易于重复使用。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C#自动创建数据库实现代码 - Python技术站