sohrab o
سه شنبه 03 شهریور 1388, 22:41 عصر
این کد چه مشکلی دارد؟
زمانی که برای بار دوم این کد اجرا میشود بدلیل اینکه بسته شده و مجدد باز می شود در Executeخطا میگیرد
If DataEn.Db1.State = adStateOpen Then
DataEn.Db1.Close
End If
If OptLogin(1).Value = True Then
If DataEn.Db1.State = adStateClosed Then
DataEn.Db1.ConnectionString = "Provider=SQLOLEDB.1;Password=" & TxtPassword.Text & ";Persist Security Info=True;User ID=" & TxtUserName.Text & ";Initial Catalog=" & CmbDb1.Text & ";Data Source=" & TxtServerName.Text
DataEn.Db1.Open
End If
Else
If DataEn.Db1.State = adStateClosed Then
DataEn.Db1.ConnectionString = "Provider=SQLOLEDB.1;Persist Security Info=True;Initial Catalog=" & CmbDb1.Text & ";Integrated Security=SSPI;Data Source=" & TxtServerName.Text
DataEn.Db1.Open
End If
End If
CmbTable1.Visible = False
If DataEn.Db1.State = adStateOpen Then
If DataEn.rsTestDb1.State = 1 Then DataEn.rsTestDb1.Close
DataEn.Commands(2).CommandText = "select b.name from sysobjects as b where b.xtype='u'"
DataEn.Commands(2).Execute
If DataEn.rsTestDb1.State = 0 Then DataEn.rsTestDb1.Open
While DataEn.rsTestDb1.EOF = False
CmbTable1.AddItem DataEn.rsTestDb1("Name")
DataEn.rsTestDb1.MoveNext
Wend
End If
CmbTable1.Visible = True
زمانی که برای بار دوم این کد اجرا میشود بدلیل اینکه بسته شده و مجدد باز می شود در Executeخطا میگیرد
If DataEn.Db1.State = adStateOpen Then
DataEn.Db1.Close
End If
If OptLogin(1).Value = True Then
If DataEn.Db1.State = adStateClosed Then
DataEn.Db1.ConnectionString = "Provider=SQLOLEDB.1;Password=" & TxtPassword.Text & ";Persist Security Info=True;User ID=" & TxtUserName.Text & ";Initial Catalog=" & CmbDb1.Text & ";Data Source=" & TxtServerName.Text
DataEn.Db1.Open
End If
Else
If DataEn.Db1.State = adStateClosed Then
DataEn.Db1.ConnectionString = "Provider=SQLOLEDB.1;Persist Security Info=True;Initial Catalog=" & CmbDb1.Text & ";Integrated Security=SSPI;Data Source=" & TxtServerName.Text
DataEn.Db1.Open
End If
End If
CmbTable1.Visible = False
If DataEn.Db1.State = adStateOpen Then
If DataEn.rsTestDb1.State = 1 Then DataEn.rsTestDb1.Close
DataEn.Commands(2).CommandText = "select b.name from sysobjects as b where b.xtype='u'"
DataEn.Commands(2).Execute
If DataEn.rsTestDb1.State = 0 Then DataEn.rsTestDb1.Open
While DataEn.rsTestDb1.EOF = False
CmbTable1.AddItem DataEn.rsTestDb1("Name")
DataEn.rsTestDb1.MoveNext
Wend
End If
CmbTable1.Visible = True