combobox.selectedindex in Boolean konvertieren

29/05/2009 - 10:23 von Mario Krsnic | Report spam
Hallo zusammen,
ich will den Boolean-Wert für Geschlecht aus einem ComboBox in mssql-DB
speichern. Irgendwie làßt sich die Änderung im Combobox nicht abspeichern.
Im ComboBox habe ich zwei Zeilen: "Frau" und "Mann", im Modul ist sqlstring:
SQLQuery = "SELECT
PatientID,Last_name,first_name,Gender,[Disabled]

und in der Programmform habe ich:
Private Sub FillControls(ByRef dt As DataTable)
Me.txtFName.Text = dt.Rows(iRowIndex).Item("first_name").ToString()
Me.txtLName.Text = dt.Rows(iRowIndex).Item("Last_name").ToString()
Me.cmbGender.SelectedIndex =
Convert.ToInt16(IIf(Convert.ToBoolean(dt.Rows(iRowIndex).Item("Gender")) =
True, 0, 1))
End Sub
Private Sub btnSave_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles btnSave.Click
Dim CommandBuilder As New SqlClient.SqlCommandBuilder(objadapter),
drPatients As DataRow
If btnNew.Enabled = False Then
objadapter.InsertCommand = CommandBuilder.GetInsertCommand
drPatients = dtPatients.NewRow
With drPatients
.Item("first_name") = Me.txtFName.Text
.Item("Last_name") = Me.txtLName.Text
.Item("Gender") =
Convert.ToBoolean(Me.cmbGender.SelectedIndex)
End With
iRowIndex = iRowIndex + 1
dtPatients.Rows.Add(drPatients)
btnNew.Enabled = True
FillControls(dt:=dtPatients)
Else
objadapter.UpdateCommand = CommandBuilder.GetUpdateCommand
With dtPatients.Rows(iRowIndex)
.Item("first_name") = Me.txtFName.Text
.Item("Last_name") = Me.txtLName.Text
.Item("Gender") =
Convert.ToBoolean(Me.cmbGender.SelectedIndex)
End With
End If

objadapter.Update(dtPatients)
End Sub

Den richtigen Wert làßt sich nicht abspeichern beim Anlegen eines neuen
Satzes und genausowenig beim Update.
Was mache ich falsch?
Mario
 

Lesen sie die antworten

#1 Stefan Falz [MVP]
29/05/2009 - 11:09 | Warnen spam
Hallo Mario,

"Mario Krsnic" schrieb:

ich will den Boolean-Wert für Geschlecht aus einem ComboBox in mssql-DB speichern.



wo soll denn da ein Boolean sein? Oder meinst Du lediglich 0 und 1?

Im ComboBox habe ich zwei Zeilen: "Frau" und "Mann", im Modul ist sqlstring:



Warum fragst Du nicht einfach SelectedValue ab?

http://msdn.microsoft.com/de-de/lib...value.aspx

Me.cmbGender.SelectedIndex


Was ist cmbGender? ListBox? DropDownList? ...?

Den richtigen Wert làßt sich nicht abspeichern beim Anlegen eines neuen Satzes und genausowenig beim Update.
Was mache ich falsch?



Ich würde sagen: Komisch (be)schreiben. Ehrlich gesagt versteh ich kein Wort.

Tschau, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community

Ähnliche fragen