Metode satu:
1. Jika tidak ada nama logis yang ditentukan saat melampirkan database, maka akan ditampilkan sebagai "jalur lengkap dalam huruf besar" pada SQL2005. Misalnya, ketika file database D:MyTest.mdf dan D:MyTest.ldf dilampirkan ke server SQL, jika tidak ada nama logis yang ditentukan, maka akan ditampilkan sebagai "D:MYTEST.MDF" di SQL2005. Saat ini, string koneksi C# adalah "DataSource=dsName;AttatchDBFilename="D:MyTest.mdf";User ID=id;Password=pw";
2. Jika nama logis ditentukan saat melampirkan database, maka akan ditampilkan sebagai "nama logis" di SQL2005. Saat ini, string koneksi C# adalah "DataSource=dsName;AttatchDBFilename="D:MyTest.mdf" ;Katalog Awal =aa_LogicName;ID Pengguna=id;Kata Sandi=pw”;
3. Nama database terlampir tidak dapat diubah sesuka hati; jika tidak, kesalahan dapat dengan mudah terjadi.
Metode dua:
string DbPath=Sistem.Lingkungan.Direktori Saat Ini +@"Demo_Data.MDF ";
string LogPath=Sistem.Lingkungan.Direktori Saat Ini +@"Demo_Log.LDF ";
string StrSql="exec sp_attach_db @dbname='supmark',@filename1='"+DbPath+"',@filename2='"+LogPath+"'";
string strcon="Server=(lokal);Keamanan Terintegrasi=SSPI;Database=master";
SqlConnection cn=SqlConnection baru(strcon);
SqlCommand cmd = SqlCommand baru (StrSql,cn);
cn.Buka();
cmd.ExecuteNonQuery();
cn.Tutup();
Metode tiga kode rinci:
menggunakan Sistem;
menggunakan System.Collections.Generik;
menggunakan System.Windows.Forms;
menggunakan Sistem.Data.SqlClient;
menggunakan Sistem.Data;
menggunakan System.ServiceProcess;
namespace AdminZJC.DataBaseControl
{
/// <ringkasan>
/// Kelas kontrol operasi database
/// </ringkasan>
DataBaseControl kelas publik
{
/// <ringkasan>
/// String koneksi basis data
/// </ringkasan>
string publik ConnectionString;
/// <ringkasan>
///Pernyataan operasi SQL/prosedur tersimpan
/// </ringkasan>
string publik StrSQL;
/// <ringkasan>
/// Membuat instance objek koneksi database
/// </ringkasan>
Sambungan SqlConnection pribadi;
/// <ringkasan>
/// Membuat instance objek operasi database baru Comm
/// </ringkasan>
Perintah SqlCommand pribadi;
/// <ringkasan>
/// Nama database yang akan dioperasikan
/// </ringkasan>
string publik NamaBase Data;
/// <ringkasan>
/// Alamat lengkap file database
/// </ringkasan>
string publik DataBase_MDF;
/// <ringkasan>
/// Alamat lengkap file log database
/// </ringkasan>
string publik DataBase_LDF;
/// <ringkasan>
/// Nama file cadangan
/// </ringkasan>
string publik DataBaseOfBackupName;
/// <ringkasan>
/// Jalur file cadangan
/// </ringkasan>
string publik DataBaseOfBackupPath;
/// <ringkasan>
/// Melakukan operasi untuk membuat/memodifikasi database dan tabel
/// </ringkasan>
kekosongan publik DataBaseAndTableControl()
{
mencoba
{
Sambungan = SqlConnection baru(ConnectionString);
Sambungan.Buka();
Komunikasi = new SqlCommand();
Comm.Connection = Sambung;
Comm.CommandText = StrSQL;
Comm.CommandType = CommandType.Teks;
Comm.ExecuteNonQuery();
MessageBox.Show("Operasi database berhasil!", "Informasi prompt", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
menangkap (Pengecualian ex)
{
MessageBox.Show(mis.Pesan, "Permintaan pesan", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
Akhirnya
{
Sambungan.Tutup();
}
}
/// <ringkasan>
/// Basis data terlampir
/// </ringkasan>
kekosongan publik AddDataBase()
{
mencoba
{
Sambungan = SqlConnection baru(ConnectionString);
Sambungan.Buka();
Komunikasi = new SqlCommand();
Comm.Connection = Sambung;
Comm.CommandText = "sp_attach_db";
Comm.Parameters.Add(SqlParameter baru(@"dbname", SqlDbType.NVarChar));
Comm.Parameters[@"dbname"].Nilai = NamaBaseData;
Comm.Parameters.Add(SqlParameter baru(@"namafile1", SqlDbType.NVarChar));
Komunikasi.Parameter[@"namafile1"].Nilai = DataBase_MDF;
Comm.Parameters.Add(SqlParameter baru(@"namafile2", SqlDbType.NVarChar));
Comm.Parameters[@"filename2"].Nilai = DataBase_LDF;
Comm.CommandType = CommandType.StoredProcedure;
Comm.ExecuteNonQuery();
MessageBox.Show("Database berhasil dilampirkan", "Informasi prompt", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
menangkap (Pengecualian ex)
{
MessageBox.Show(mis.Pesan, "Permintaan pesan", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
Akhirnya
{
Sambungan.Tutup();
}
}
/// <ringkasan>
/// Basis data terpisah
/// </ringkasan>
kekosongan publik DeleteDataBase()
{
mencoba
{
Sambungan = SqlConnection baru(ConnectionString);
Sambungan.Buka();
Komunikasi = new SqlCommand();
Comm.Connection = Sambung;
Comm.CommandText = @"sp_detach_db";
Comm.Parameters.Add(SqlParameter baru(@"dbname", SqlDbType.NVarChar));
Comm.Parameters[@"dbname"].Nilai = NamaBaseData;
Comm.CommandType = CommandType.StoredProcedure;
Comm.ExecuteNonQuery();
MessageBox.Show("Pemisahan database berhasil", "Informasi prompt", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
menangkap (Pengecualian ex)
{
MessageBox.Show(mis.Pesan, "Permintaan pesan", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
Akhirnya
{
Sambungan.Tutup();
}
}
/// <ringkasan>
/// Cadangkan basis data
/// </ringkasan>
kekosongan publik BackupDataBase()
{
mencoba
{
Sambungan = SqlConnection baru(ConnectionString);
Sambungan.Buka();
Komunikasi = new SqlCommand();
Comm.Connection = Sambung;
Comm.CommandText = "gunakan master;database cadangan @dbname ke disk = @backupname;";
Comm.Parameters.Add(SqlParameter baru(@"dbname", SqlDbType.NVarChar));
Comm.Parameters[@"dbname"].Nilai = NamaBaseData;
Comm.Parameters.Add(SqlParameter baru(@"nama cadangan", SqlDbType.NVarChar));
Comm.Parameters[@"backupname"].Nilai = @DataBaseOfBackupPath + @DataBaseOfBackupName;
Comm.CommandType = CommandType.Teks;
Comm.ExecuteNonQuery();
MessageBox.Show("Pencadangan database berhasil", "Informasi prompt", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
menangkap (Pengecualian ex)
{
MessageBox.Show(mis.Pesan, "Permintaan pesan", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
Akhirnya
{
Sambungan.Tutup();
}
}
/// <ringkasan>
///Pulihkan basis data
/// </ringkasan>
kekosongan publik GantiDataBase()
{
mencoba
{
string File Cadangan = @DataBaseOfBackupPath + @DataBaseOfBackupName;
Sambungan = SqlConnection baru(ConnectionString);
Sambungan.Buka();
Komunikasi = new SqlCommand();
Comm.Connection = Sambung;
Comm.CommandText = "gunakan master;pulihkan database @DataBaseName Dari disk = @BackupFile dengan penggantian;";
Comm.Parameters.Add(SqlParameter baru(@"DataBaseName", SqlDbType.NVarChar));
Comm.Parameters[@"DataBaseName"].Nilai = NamaBaseData;
Comm.Parameters.Add(SqlParameter baru(@"BackupFile", SqlDbType.NVarChar));
Comm.Parameters[@"BackupFile"].Nilai = File Cadangan;
Comm.CommandType = CommandType.Teks;
Comm.ExecuteNonQuery();
MessageBox.Show("Database berhasil dipulihkan", "Informasi prompt", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
menangkap (Pengecualian ex)
{
MessageBox.Show(mis.Pesan, "Permintaan pesan", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
Akhirnya
{
Sambungan.Tutup();
}
}
}
}
/*
///Contoh panggilan:
#------------------------------------------------ - --Pulihkan basis data---------------------------------------------- -- ------------#
private void button0_Click(pengirim objek, EventArgs e)
{
DataBaseControl DBC = DataBaseControl baru();
DBC.ConnectionString = "Sumber Data=(lokal);Id Pengguna=sa;Kata Sandi=123456; Katalog Awal=master";
DBC.DataBaseName = "Database Saya";
DBC.DataBaseOfBackupName = @"back.bak";
DBC.DataBaseOfBackupPath = @"D:Program FilesMicrosoft SQL ServerMSSQLData";
DBC.ReplaceDataBase();
}
#------------------------------------------------ - Basis data tambahan------------------------------------------------ - ----------#
private void button1_Click_1(pengirim objek, EventArgs e)
{
DataBaseControl DBC = DataBaseControl baru();
DBC.ConnectionString = "Sumber Data=(lokal);Id Pengguna=sa;Kata Sandi=123456; Katalog Awal=master";
DBC.DataBaseName = "Database Saya";
DBC.DataBase_MDF = @"D:Program FilesMicrosoft SQL ServerMSSQLDataMyDatabase_Data.MDF";
DBC.DataBase_LDF = @"D:Program FilesMicrosoft SQL ServerMSSQLDataMyDatabase_Log.LDF";
DBC.AddDataBase();
}
#-----------Basis data cadangan------- -- ------------------------------------------------ -- ---------#
private void button2_Click(pengirim objek, EventArgs e)
{
DataBaseControl DBC = DataBaseControl baru();
DBC.ConnectionString = "Sumber Data=(lokal);Id Pengguna=sa;Kata Sandi=123456; Katalog Awal=master";
DBC.DataBaseName = "Database Saya";
DBC.DataBaseOfBackupName = @"back.bak";
DBC.DataBaseOfBackupPath = @"D:Program FilesMicrosoft SQL ServerMSSQLData";
DBC.BackupDataBase();
}
#-------------------------------Basis data terpisah-- ---- ------------------------------- ---- --------#
tombol void pribadi3_Klik(pengirim objek, EventArgs e)
{
DataBaseControl DBC = DataBaseControl baru();
DBC.ConnectionString = "Sumber Data=(lokal);Id Pengguna=sa;Kata Sandi=123456; Katalog Awal=master";
DBC.DataBaseName = "Database Saya";
DBC.DeleteDataBase();