PDA

View Full Version : مشکل در کد ایجاد دیتابیس از داخل برنامه



saeedhushmand
یک شنبه 22 آبان 1390, 21:43 عصر
این کد من با کمک یکی از دوستان درست کردم اما دو مشکل داره اولا این کد جدول ها رو در master می ریزه که من می خوام دوستان کمک کنند کدی رو بهش اضافه کنند که با اون اول یک دیتابیس ایجاد کنه و بعد جداول توی اون دیتابیس بریزه
دوم اینکه این کد در کامپیوتر خودم بر روی sql server کار کرد اما وقتی ویرایشش کردم تا توی sql express انجام بده وقتی توی یه کامپیوتر دیگه ریختم کار نکرد

دوستان اگر لطف کنند کمک کنند ممنون می شم....

try
{
SqlConnection con = new SqlConnection();
con.ConnectionString = "Data Source=(local)\\SQLEXPRESS;Initial Catalog=laberator;Integrated Security=True";
con.Open();
string str = "use master;" + "EXECUTE sp_attach_db @dbname = N'laberator' , " + " @filename1 = N'" + System.Environment.CurrentDirectory + "\\Data\\laberator.mdf'," + "@filename2 = N'" + System.Environment.CurrentDirectory + "\\Data\\laberator_log.ldf'";
SqlCommand cmd = new SqlCommand(str, con);
cmd.ExecuteNonQuery();
con.Close();
MessageBox.Show("برنامه به بانک اطلاعاتی متصل شد");
}
catch (Exception x)
{
if (x.Message.IndexOf("already exists") >= 0)
{
MessageBox.Show("برنامه به بانک اطلاعاتی متصل است");
}
else
{
MessageBox.Show(x.Message);
}
}

mmd2009
دوشنبه 23 آبان 1390, 01:15 صبح
با سلام

اخرش میخواستید دیتابیس درست بکنید یا جدول ؟ یا هردو ؟

برای ایجاد دیتابیس کافیه از کد زیر استفاده بکنید :


var tmpConn = new SqlConnection
{
ConnectionString = "Server=localhost;Integrated security=SSPI;database=master"
};
var sqlCreateDBQuery = "CREATE DATABASE " + txtDatabseName.Text.Trim() + " ON PRIMARY " +
"(NAME = MyDatabase_Data, " +
"FILENAME = 'D:\\MyDatabaseData.mdf', " +
"SIZE = 3MB, MAXSIZE = 10MB, FILEGROWTH = 10%) " +
"LOG ON (NAME = MyDatabase_Log, " +
"FILENAME = 'C:\\MyDatabaseLog.ldf', " +
"SIZE = 1MB, " +
"MAXSIZE = 5MB, " +
"FILEGROWTH = 10%)";

var myCommand = new SqlCommand(sqlCreateDBQuery, tmpConn);

tmpConn.Open();
MessageBox.Show(sqlCreateDBQuery);
myCommand.ExecuteNonQuery();
MessageBox.Show(@"Database has been created successfully!",
@"Create Database", MessageBoxButtons.OK,
MessageBoxIcon.Information);

tmpConn.Close();


موفق باشید