View Full Version : معادل این دستور در vb.net چیه؟
kebriya
چهارشنبه 05 آبان 1389, 14:43 عصر
از کد زیر واسه restore کردن پشتیبان در C# استفاده میکردم اما الان وقتی به vb.net تبدیل میکنم بهم گیر میده که
Error 1 Operator '<>' is not defined for types 'Microsoft.SqlServer.Management.Smo.Database' and 'Microsoft.SqlServer.Management.Smo.Database'.
و کد c#:
SqlConnection con;
con = new SqlConnection();
con.ConnectionString = "Data Source=(local); Initial Catalog=master;Integrated Security=True";
con.Open();
ServerConnection MyserverConnection = new ServerConnection(con);
Server Myserver = new Server(MyserverConnection);
Microsoft.SqlServer.Management.Smo.Database currentDb = Myserver.Databases["pic"];
if (currentDb != null)
Myserver.KillAllProcesses("pic");
string query = "DROP DATABASE pic";
SqlCommand cmd = new SqlCommand();
cmd.CommandText = query;
cmd.Connection = con;
cmd.ExecuteNonQuery();
query = "RESTORE DATABASE pic FROM disk ='d:\\ot.bak'";
cmd = new SqlCommand();
cmd.CommandText = query;
cmd.Connection = con;
cmd.ExecuteNonQuery();
con.Close();
Alghoochi
چهارشنبه 05 آبان 1389, 15:09 عصر
فکرکنم اشکال از اینجا باشه
currentDb != null
جایگزین:
if not curretDb is null
kebriya
چهارشنبه 05 آبان 1389, 15:15 عصر
باز هم به null گیر میده
Error 1 'Null' is not declared. 'Null' constant is no longer supported; use 'System.DBNull' instead.
از 'System.DBNull' هم استفاده کردم بازهم خطا میده
ali_najari
چهارشنبه 05 آبان 1389, 15:20 عصر
دوست عزيز اين هم معادل كد شما
Dim con As SqlConnection
con = New SqlConnection()
con.ConnectionString = "Data Source=(local); Initial Catalog=master;Integrated Security=True"
con.Open()
Dim MyserverConnection As New ServerConnection(con)
Dim Myserver As New Server(MyserverConnection)
Dim currentDb As Microsoft.SqlServer.Management.Smo.Database = Myserver.Databases("pic")
If currentDb IsNot Nothing Then
Myserver.KillAllProcesses("pic")
End If
Dim query As String = "DROP DATABASE pic"
Dim cmd As New SqlCommand()
cmd.CommandText = query
cmd.Connection = con
cmd.ExecuteNonQuery()
query = "RESTORE DATABASE pic FROM disk ='d:\ot.bak'"
cmd = New SqlCommand()
cmd.CommandText = query
cmd.Connection = con
cmd.ExecuteNonQuery()
con.Close()
Alghoochi
چهارشنبه 05 آبان 1389, 22:29 عصر
علی جان ServerConnection از کلاس های چه کتابخانه ایه؟ مربوط به .Net Framework 4 که نیست؟
kebriya
پنج شنبه 06 آبان 1389, 14:55 عصر
واسه
Imports Microsoft.SqlServer.Management.Smo
Imports Microsoft.SqlServer.Management.Common
ali_najari
پنج شنبه 06 آبان 1389, 16:03 عصر
علی جان ServerConnection از کلاس های چه کتابخانه ایه؟ مربوط به .Net Framework 4 که نیست؟
دوست خوبمون كبريا جواب دادن
reza_edu
پنج شنبه 06 آبان 1389, 23:51 عصر
از کد زیر واسه restore کردن پشتیبان در C# استفاده میکردم اما الان وقتی به vb.net تبدیل میکنم بهم گیر میده که
سلام ببخشید من این تاپیک رو دیدم ولی اصلا ازش چیزی متوجه نشدم یکم توضیح میدید منم متوجه شم این کد به چه کار میاد؟:ناراحت:
kebriya
جمعه 07 آبان 1389, 13:30 عصر
سلام ببخشید من این تاپیک رو دیدم ولی اصلا ازش چیزی متوجه نشدم یکم توضیح میدید منم متوجه شم این کد به چه کار میاد؟:ناراحت:
دوست عزیز وقتی از بانک برنامه backup میگیری برای استفاده از اون باید اون رو برگردونی یعنی restore میکنیم که این کد این کارو میکنه
reza_edu
جمعه 07 آبان 1389, 15:55 عصر
ممنون راستی من میخوام تو برنامه ام تعین کنم که هیر چند وقت که توسط کاربر تنظیم میشه برنامه بصورت خود کار از بانک روی سرور بکاپ بگیره ولی بلد نبودم پس این کد برای اینه !! منون میشم یکم بیشتر توضیح بدید میشه مثلا مدیر تو سیستم خودش تعین کنه که فایل بکاپ تو سرور تو چه کمسیری کپی شه ؟ بعد اگه درایو مورد نظر پرشد چی ؟ برنامه چه جوری میفهمه ادامه داده هارو تو کدوم درایو بریزه !
kebriya
جمعه 07 آبان 1389, 16:01 عصر
واسه بکاپ گیری از کد زیر استفاده کن:
Dim pd As System.Globalization.PersianCalendar
Dim mo1, da1 As String
pd = New System.Globalization.PersianCalendar
If Len(pd.GetMonth(DateString).ToString) < 2 Then
mo1 = "0" & pd.GetMonth(DateString).ToString
Else
mo1 = pd.GetMonth(DateString).ToString
End If
If Len(pd.GetDayOfMonth(DateString).ToString) < 2 Then
da1 = "0" & pd.GetDayOfMonth(DateString).ToString
Else
da1 = pd.GetDayOfMonth(DateString).ToString
End If
SaveFileDialog1.FileName = pd.GetYear(DateString).ToString & "-" & mo1 & "-" & da1
SaveFileDialog1.Filter = "backup files (*.bak)|*.bak"
SaveFileDialog1.ShowDialog()
Try
Dim con As SqlConnection
con = New SqlConnection()
con.ConnectionString = "Data Source=(local); Initial Catalog=dabirkhane;Integrated Security=True"
con.Open()
Dim query = "BACKUP DATABASE[dabirkhane] TO DISK = '" & SaveFileDialog1.FileName & "'"
Dim cmd As New SqlCommand()
cmd.CommandText = query
cmd.Connection = con
cmd.ExecuteNonQuery()
con.Close()
IO.File.Copy(Application.StartupPath() & "\images", SaveFileDialog1.FileName)
MessageBox.Show("عملیات پشتیبانی با موفقیت انجام شد")
Catch
MessageBox.Show("مسیری انتخاب نشد")
End Try
اما نمیدونم چجوری بهش بگیم که اگه جا نشد بره یه درایو دیگه.
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.