2013-04-15 114 views
1

我的VB.NET有點生疏,特別是在轉換爲SQL時。我以爲我有一個隱藏2個按鈕的簡單任務,除非複選框被選中。該複選框綁定到SQL Server列,其數據類型爲bit將SQL Server BIT數據類型轉換爲布爾值VB.NET

我的代碼如下:

Private Sub CaseVehicleCollisionCheckBox1_CheckedChanged(sender As Object, e As EventArgs) Handles CaseVehicleCollisionCheckBox1.CheckedChanged 
    Dim collision As System.Data.SqlTypes.SqlBinary 
    collision = CaseVehicleCollisionCheckBox1 

    If collision = True Then 
     btnVehicle1.Visible = True 
     btnVehicle2.Visible = True 
    ElseIf collision = False Then 
     btnVehicle1.Visible = False 
     btnVehicle2.Visible = False 
    End If 

End Sub 

我不斷收到錯誤

型 'System.Windows.Forms.CheckBox' 的值不能轉換爲「System.Data.SqlTypes中.SqlBinary'

試圖將複選框分配給變量時。

試圖用System.Data.SqlTypes.SqlBoolean

+2

「複選框綁定到SQL字段」 - 嗯? –

+0

只需使用布爾 –

+0

@JeremyThompson - 相同的結果 – jstacy00

回答

2

問題是你是鑄造一個CheckBox控件到SQLBinary數據類型和未去上班時,我得到了同樣的錯誤。

我推測CaseVehicleCollisionCheckBox1是CheckBox的名稱。您需要使用CheckBoxes Checked property,如:

Dim collision As Boolean 
collision = CaseVehicleCollisionCheckBox1.Checked 
+0

謝謝!那工作。 – jstacy00

+0

@ jstacy00您的歡迎,每個答案旁邊都有一個複選框,勾選它可以讓您點幾個點,並讓人們不必花費時間排除故障,讓他們知道它的工作。乾杯! –

0

使用SqlBoolean代替sqlBinary。 sqlBinary是一個字節數組的sql等價物。

相關問題