Cast from string "" to type 'Double' is not
Hi,
In the code below iam trying to make a binding controls with using
SQl server 2000
the error msg i get is
An unhandled exception of type 'System.InvalidCastException' occurred
in microsoft.visualbasic.dll
Additional information: Cast from string "" to type 'Double' is not
valid.
and the coursor indicate to this line in Private Sub ShowPosition()
txtPrice.Text = FormatNumber(txtPrice.Text, 2, TriState.True)
Imports System.Data
Imports System.Data.OleDb
Imports System.DBNull
Public Class Form
Inherits System.Windows.Forms.Form
Dim objjConnection As OleDbConnection = New _
OleDbConnection("Provider=SQLOLEDB.1;Integrated Security=SSPI;" & _
"Initial Catalog=pubs;Data Source=HOMEPC;Workstation ID=HOMEPC;")
Dim objjDataAdapter As OleDbDataAdapter
Dim objjDataSet As DataSet
Dim objjDataView As DataView
Dim objjCurrencyManager As CurrencyManager
#Region " Windows Form Designer generated code "
Public Sub New()
MyBase.New()
'This call is required by the Windows Form Designer.
InitializeComponent()
'Add any initialization after the InitializeComponent() call
cmbField.Items.Add("Last Name ")
cmbField.Items.Add("Firts Name")
cmbField.Items.Add("Book Title")
cmbField.Items.Add("Price")
cmbField.SelectedIndex = 0
FillDataSetView()
BindFields()
ShowPosition()
End Sub
'Form overrides dispose to clean up the component list.
Protected Overloads Overrides Sub Dispose(ByVal disposing As
Boolean)
objjCurrencyManager = Nothing
objjDataView = Nothing
objjDataSet = Nothing
objjDataAdapter = Nothing
objjConnection = Nothing
If disposing Then
If Not (components Is Nothing) Then
components.Dispose()
End If
End If
MyBase.Dispose(disposing)
End Sub
Private Sub FillDataSetView()
objjDataView = Nothing
objjDataSet = New DataSet
objjConnection.Open()
objjDataAdapter = New OleDbDataAdapter( _
"SELECT authors.au_id,au_lname,au_fname, " & _
"titles.title_id,title, price " & _
"FROM authors " & _
"JOIN titleauthor ON authors.au_id = titleauthor.au_id " & _
"JOIN titles ON titleauthor.title_id = titles.title_id " & _
"ORDER BY au_lname, au_fname ", objjConnection)
objjDataAdapter.Fill(objjDataSet, "authors")
objjDataView = New DataView(objjDataSet.Tables("authors"))
objjCurrencyManager = _
CType(Me.BindingContext(objjDataView), CurrencyManager)
objjConnection.Close()
objjDataSet = Nothing
End Sub
Private Sub BindFields()
txtAuthorID.DataBindings.Clear()
txtLastName.DataBindings.Clear()
txtFirstName.DataBindings.Clear()
txtTitleID.DataBindings.Clear()
txtBookTitle.DataBindings.Clear()
txtPrice.DataBindings.Clear()
txtAuthorID.DataBindings.Add("Text", objjDataView, "au_id")
txtLastName.DataBindings.Add("Text", objjDataView, "au_lname")
txtFirstName.DataBindings.Add("Text", objjDataView, "au_fname")
txtTitleID.DataBindings.Add("Text", objjDataView, "title_id")
txtBookTitle.DataBindings.Add("Text", objjDataView, "title")
txtPrice.DataBindings.Add("Text", objjDataView, "price")
StatusBar1.Text = "Ready"
End Sub
Private Sub ShowPosition()
txtPrice.Text = FormatNumber(txtPrice.Text, 2, TriState.True)
txtRecordPosition.Text = objjCurrencyManager.Position + 1 & _
" of " & objjCurrencyManager.Count
End Sub
Private Sub btnMoveFirst_Click(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles btnMoveFirst.Click
objjCurrencyManager.Position = 0
ShowPosition()
End Sub
Private Sub btnMovePrevious_Click(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles btnMovePrevious.Click
objjCurrencyManager.Position -= 1
ShowPosition()
End Sub
Private Sub btnMoveNext_Click(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles btnMoveNext.Click
objjCurrencyManager.Position += 1
ShowPosition()
End Sub
Private Sub btnMoveLast_Click(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles btnMoveLast.Click
objjCurrencyManager.Position = objjCurrencyManager.Count - 1
ShowPosition()
End Sub
|