also ich benutze sql server management express:)
und danke für die antworten!
habs ein wenig geändert aber hab leider ein paar fehler drin, die ich mit meinen syntax kenntnissen nicht wirklich ausbügeln kann:(
Public Class Form1
Dim knummer As New ArrayList
Dim x As Integer
Dim conn As New SqlClient.SqlConnection
Dim SCMD As SqlClient.SqlCommand
Dim SDR As SqlClient.SqlDataReader
Dim connstr As String = "integrated security=SSPI;data source=xxxx;persist security info=False;initial catalog=xxxx"
Public Sub ConnectToSql()
conn.ConnectionString = connstr
conn.Open()
SCMD = conn.CreateCommand
SCMD.CommandText = "SELECT * FROM dbo.kunden"
SDR = SCMD.ExecuteReader(CommandBehavior.Default)
ListBox1.Items.Clear()
If SDR.HasRows Then
While SDR.Read
ListBox1.Items.Add(SDR.Item("Kundennummer").ToString & " - " & SDR.Item("Vorname").ToString & " " & SDR.Item("Nachname").ToString)
End While
End If
conn.Close()
End Sub
Private Sub cmdLöschen_Click()
Dim anzahl As Integer
If ListBox1.Text = "" Then
MsgBox("Bitte einen Datensatz auswählen")
Exit Sub
End If
If MsgBox("Wollen Sie den ausgewählten Datensatz wirklich löschen?", MsgBoxStyle.YesNo) = MsgBoxResult.No Then
Exit Sub
End If
Try
conn.Open()
SCMD = conn.CreateCommand
SCMD.CommandText = "delete from dbo.kunden where kundennummer"
MsgBox(SCMD.CommandText)
anzahl = SCMD.ExecuteNonQuery()
If anzahl > 0 Then
MsgBox("Es wurde ein Datensatz gelöscht")
End If
Catch ex As Exception
MsgBox(ex.Message)
End Try
conn.Close()
ConnectToSql()
End Sub
Sub Ändern()
Dim anzahl As Integer
If TextBox6.Text = "" Then
MsgBox("Bitte einen Datensatz auswählen und mindestens eine Personalnummer eintragen")
Exit Sub
End If
Try
conn.Open()
SCMD.CommandText = _
"update dbo.kunden set Nachname = '" & TextBox4.Text & "',Vorname = '" & TextBox5.Text & "', Kundennummer = " & TextBox6.Text & "WHERE Kundennummer = knummer(ListBox1_SelectedIndexChanged)"
'MsgBox(cmd.CommandText)
anzahl = SCMD.ExecuteNonQuery()
If anzahl > 0 Then
MsgBox("Es wurde ein Datensatz geändert")
End If
Catch ex As Exception
MsgBox(ex.Message)
End Try
conn.Close()
ConnectToSql()
End Sub
Sub Suchen()
conn.ConnectionString = connstr
conn.Open()
SCMD = conn.CreateCommand
If TextBox4.Text & TextBox5.Text & TextBox6.Text = "" Then
MsgBox("Bitte einen Such-Namen eintragen")
Exit Sub
End If
Try
SCMD.CommandText = "select * from dbo.kunden where Vorname like '" & TextBox4.Text & "%' or Nachname like '" & TextBox5.Text & "%' or Kundennummer like '" & TextBox6.Text & "%'"
MsgBox(SCMD.CommandText)
SDR = SCMD.ExecuteReader(CommandBehavior.Default)
If SDR.HasRows Then
While SDR.Read
ListBox1.Items.Add(SDR.Item("Kundennummer").ToString & " - " & SDR.Item("Vorname").ToString & " " & SDR.Item("Nachname").ToString)
End While
End If
Catch ex As Exception
MsgBox(ex.Message)
End Try
conn.Close()
End Sub
Private Sub cmdEinfügen_Click()
Dim anzahl As Integer
conn.ConnectionString = connstr
If TextBox6.Text = "" Then
MsgBox("Bitte mindestens eine Personalnummer eintragen")
Exit Sub
End If
Try
conn.Open()
SCMD = conn.CreateCommand
SCMD.CommandText = "insert into dbo.kunden (Kundennummer, Vorname, Nachname) values('" & TextBox6.Text & "', '" & TextBox5.Text & "', '" & TextBox4.Text & "')"
'MsgBox(cmd.CommandText)
anzahl = SCMD.ExecuteNonQuery()
If anzahl > 0 Then
MsgBox("Es wurde " & anzahl.ToString & " Datensatz eingefügt")
End If
Catch ex As Exception
MsgBox(ex.Message)
End Try
conn.Close()
ConnectToSql()
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Ausgabe.Click
ConnectToSql()
End Sub
Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs)
End Sub
Private Sub TextBox2_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs)
End Sub
Private Sub TextBox3_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs)
End Sub
Private Sub Button1_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Ändern()
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Suchen()
End Sub
Private Sub TextBox4_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox4.TextChanged
End Sub
Private Sub TextBox5_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox5.TextChanged
End Sub
Private Sub TextBox6_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox6.TextChanged
End Sub
Private Sub ListBox1_MouseClick(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles ListBox1.MouseClick
End Sub
Private Sub ListBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListBox1.SelectedIndexChanged
End Sub
Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
cmdLöschen_Click()
End Sub
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
cmdEinfügen_Click()
End Sub
End Class
Und zwar einerseits gibt er mir bei "Suche" immer alle Werte aus anstatt nur den bei dem ein Treffer vorliegt, und zum anderen bei der sub Ändern
weiß ich nicht was ich machen soll, damit in der listbox nur der "ausgewählte"
datensatz geändert wird. Es werden halt alle Datensätze dementsprechend geändert anstatt nur einer.
Weiß vielleicht jemand was zu tun ist?
Bitte Code-Tags verwenden, grueni