我花了很多时间尝试研究外部资源,但不同的解决方案似乎比我希望的更加复杂。
我想要实现以下目标:
- 在本地计算机上现有的SQL实例中创建简单的数据库。
- 安全性只需要一个简单的用户名和密码。
- 其他选项都是不必要的(日志、增长、最大大小等)。
这是我第一次尝试将数据库集成到我的程序中。使用SQLite或SMO似乎有点令人不知所措,所以我一直在尝试修改这个示例代码来使其工作:
private void createDatabase()
{
String str;
SqlConnection myConn = new SqlConnection("Server=" + serverName + ";Integrated security=SSPI;database=master");
str = "CREATE DATABASE " + dbName + " ON PRIMARY " +
"(NAME = " + dbName + "_Data, " +
"FILENAME = 'C:\\" + dbName + ".mdf', " +
"SIZE = 2MB, MAXSIZE = 10MB, FILEGROWTH = 10%) " +
"LOG ON (NAME = " + dbName + "_Log, " +
"FILENAME = 'C:\\" + dbName + ".ldf', " +
"SIZE = 1MB, " +
"MAXSIZE = 5MB, " +
"FILEGROWTH = 10%)";
SqlCommand myCommand = new SqlCommand(str, myConn);
try
{
myConn.Open();
myCommand.ExecuteNonQuery();
MessageBox.Show("DataBase is Created Successfully", "Success", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
catch (System.Exception ex)
{
MessageBox.Show(ex.ToString(), "Error", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
finally
{
if (myConn.State == ConnectionState.Open)
{
myConn.Close();
}
}
}
有什么简单的方法可以创建一个查询字符串或者其他方式来创建数据库吗?如果有更好的方法,也可以,但要注意尽量让它简单易懂。
try-catch
块内部尝试使用using
。using
会关闭连接,如果using
或.Close()
抛出任何异常,您可以在catch
块中捕获它。 - Amar Palsapure